import { ConsultationService } from './consultation.service';
import { CreateConsultationDto } from './dto/consultation.dto';
import { UpdateConsultationDto } from './dto/consulationUpdate.dto';
import { UploadFunctions } from '../functions/upload.function';
import { CNSSFormFunctions } from '../functions/cnss-form.function';
import { ImpressionFunctions } from '../functions/impression.function';
import { StaticDocumentsImpressionFunction } from '../functions/static-documents-impression.function';
import { UploadService } from '../upload/upload.service';
export declare class ConsultationController {
    private readonly consultationService;
    private readonly uploadFunction;
    private readonly impressionFunctions;
    private readonly staticDocumentsImpressionFunction;
    private readonly uploadService;
    private readonly cnssFormFunctions;
    constructor(consultationService: ConsultationService, uploadFunction: UploadFunctions, impressionFunctions: ImpressionFunctions, staticDocumentsImpressionFunction: StaticDocumentsImpressionFunction, uploadService: UploadService, cnssFormFunctions: CNSSFormFunctions);
    create(body: CreateConsultationDto, req: any, id_patient: number): Promise<{
        id_consultation: number;
    }>;
    update(body: UpdateConsultationDto, req: any, id_consultation: number, files: Array<Express.Multer.File>): Promise<{
        message: string;
    }>;
    getConsultation(id_consultation: number, req: any): Promise<{
        note_medicale: string;
        note_revoir: string;
        notes: string;
        libelle_revoir_unite: string;
        id_ordonnance: number;
        date: string;
        date_previsionnelle: any;
        honoraires: string;
        types_consultation: {
            id: number;
            libelle: any;
            tarif: number;
            tarif_defaut: number;
            tarif_personnalise: number;
        }[];
        motif: {
            id: number;
            motif: string;
            description: string;
        }[];
        ordonnance: any;
        documents: any;
        id_docs: any[];
        lieu_consultation: string;
        id_consultation: number;
        id_patient: number;
        id_cabinet: number;
        id_medecin: number;
        id_type_consultation: number;
        id_lieu_de_consultation: number;
        revoire_valeur: number;
        revoir_unite: string;
        examen_constantes: string;
        examen1: string;
        examen2: string;
        examen3: string;
        examen4: string;
        flag: boolean;
        mutuelle: boolean;
        deleted_at: Date;
        consultationConstantes: import("../constante/entities/consultation-constante.entity").ConsultationConstante[];
    }>;
    getConsultations(id_patient: number, req: any, page: number, limit: number): Promise<any>;
    delete(id_consultation: number): Promise<{
        message: string;
    }>;
    impression(res: any, id_ordonnance: number, req: any): Promise<import("express").Response<any, Record<string, any>>>;
    impressionFacture(res: any, id_consultation: number, req: any): Promise<import("express").Response<any, Record<string, any>>>;
    generateCNSSForm(res: any, id_consultation: number, req: any): Promise<import("express").Response<any, Record<string, any>>>;
    toggleMutuelle(id_consultation: number): Promise<boolean>;
}
