/// <reference types="multer" />
import { PrismaService } from 'src/prisma/prisma.service';
export declare class UploadService {
    private prisma;
    constructor(prisma: PrismaService);
    getCategories(category_type: string): Promise<{
        document_category_id: number;
        category_type: string;
        position: string;
        category_name_en: string;
        category_name_afr: string;
        hidden: boolean;
    }[]>;
    getDocumentUploadUUID(): Promise<string>;
    saveDocumentUpload(user_group_id: number, user_id: number, document_category_id: number, file: Express.Multer.File): Promise<{
        document_upload_id: number;
        user_group_id: number;
        user_id: number;
        document_category_id: number;
        originalname: string;
        mimetype: string;
        size: bigint;
        uuid: string;
        created_at: Date;
    }>;
    getDocuments(user_group_id: number, user_id: number): Promise<{
        documents: {
            user_group_id: number;
            document_category_id: number;
            originalname: string;
            created_at: Date;
            document_upload_id: number;
        }[];
        categories: {
            document_category_id: number;
            category_type: string;
            category_name_en: string;
            category_name_afr: string | null;
        }[];
        groups: {
            user_group_id: number;
            group_name: string;
        }[];
    }>;
    getAllProfiles(): Promise<{
        user_group_id: number;
        group_name: string;
        bis_id: number;
    }[]>;
    getAllDocuments(user_group_id: number): Promise<{
        documents: {
            user_group_id: number;
            user_id: number;
            document_category_id: number;
            originalname: string;
            created_at: Date;
            document_upload_id: number;
        }[];
        categories: {
            document_category_id: number;
            category_type: string;
            category_name_en: string;
            category_name_afr: string | null;
        }[];
        groups: {
            user_group_id: number;
            group_name: string;
        }[];
        users: {
            user_id: number;
            firstname: string | null;
            lastname: string | null;
        }[];
    }>;
    getDocumentPath(document_upload_id: number): Promise<{
        mimetype: string;
        file: string;
    }>;
    getBasePath(): Promise<string>;
}
