import { CertificatMedicalService } from './certificat_medical.service';
import { CreateCertifDto } from './dto/create-certif.dto';
import { ImpressionFunctions } from '../functions/impression.function';
import { StaticDocumentsImpressionFunction } from '../functions/static-documents-impression.function';
export declare class CertificatMedicalController {
    private readonly certificatService;
    private readonly impressionFunction;
    private readonly staticDocumentsImpressionFunction;
    constructor(certificatService: CertificatMedicalService, impressionFunction: ImpressionFunctions, staticDocumentsImpressionFunction: StaticDocumentsImpressionFunction);
    create(id_patient: number, body: CreateCertifDto, req: any): Promise<{
        message: string;
    }>;
    update(id_certificat_medical: number, body: CreateCertifDto): Promise<{
        message: string;
    }>;
    prolongerCertificat(id_certificat_medical: number, body: CreateCertifDto): Promise<{
        message: string;
        nouvelle_duree: string;
        duree_prolongement: string;
        flag_prolongement: Boolean;
    }>;
    fiche(id_certificat_medical: number): Promise<{
        type_certificat: any;
        duree: string;
        id_certificat_medical: number;
        code_type_certificat: string;
        id_patient: number;
        id_medecin: number;
        date: Date;
        date_debut: Date;
        duree_type: string;
        flag: Boolean;
        flag_prolongement: Boolean;
        duree_prolongement: number;
        duree_prolongement_type: string;
    }>;
    liste(id_patient: number, page: number, limit: number): Promise<{
        data: {
            date: string;
            date_debut: string;
            duree: string;
            duree_prolongement: any;
            date_delivrance: Date;
            id_certificat_medical: number;
            code_type_certificat: string;
            id_patient: number;
            id_medecin: number;
            duree_type: string;
            flag: Boolean;
            flag_prolongement: Boolean;
            duree_prolongement_type: string;
        }[];
        total: number;
        page: number;
        limit: number;
    }>;
    impressionCertificat(res: any, id_certificat_medical: number, req: any): Promise<import("express").Response<any, Record<string, any>>>;
    delete(id_certificat_medical: number): Promise<{
        message: string;
    }>;
    getTypeCertificat(): Promise<any>;
}
