import { CreateBilanDto } from './dto/createBilan.dto';
import { BilanService } from './bilan.service';
import { DataSource } from 'typeorm';
import { StaticDocumentsImpressionFunction } from '../functions/static-documents-impression.function';
import { ImpressionFunctions } from '../functions/impression.function';
import { BilanFunctions } from '../functions/bilan.function';
import { ModelesBilansService } from '../modeles_bilan/modeles_bilans.service';
export declare class BilanController {
    private readonly bilanFunctions;
    private readonly dataSource;
    private readonly BilanModelService;
    private readonly bilanService;
    private readonly staticDocumentsImpressionFunction;
    private readonly impressionFunctions;
    constructor(bilanFunctions: BilanFunctions, dataSource: DataSource, BilanModelService: ModelesBilansService, bilanService: BilanService, staticDocumentsImpressionFunction: StaticDocumentsImpressionFunction, impressionFunctions: ImpressionFunctions);
    create(id_patient: number, createBilanDto: CreateBilanDto, req: any, id_consultation: number): Promise<{
        message: string;
        id_bilan: number;
    }>;
    update(id_bilan: number, createBilanDto: CreateBilanDto, req: any, id_consultation: number): Promise<{
        message: string;
    }>;
    getBilan(id_bilan: number): Promise<{
        id: number;
        id_consultation: number;
        id_patient: number;
        note: string;
        date: string;
        date_resultats: any;
        date_delivrance: Date;
        analyses: {
            id: number;
            id_analyse: number;
            bilan_analyse: string;
            resultat: string;
        }[];
    }>;
    getBilans(id_patient: number, Page: number, limit: number): Promise<{
        liste: {
            id: number;
            date: string;
            date_resultats: any;
            id_patient: number;
            id_consultation: number;
            note: string;
            analyse: string[];
            date_delivrance: any;
        }[];
        total: number;
    }>;
    getBilansByConsultations(id_consultation: number, page: number, limit: number): Promise<{
        liste: {
            id: number;
            note: string;
            date: string;
            date_resultats: any;
            date_delivrance: string;
            id_patient: number;
            analyse: string[];
        }[];
        total: number;
    }>;
    delete(id_bilan: number): Promise<{
        message: string;
    }>;
    createWithModele(id_patient: number, id_modele_bilan: number, req: any, dto: CreateBilanDto): Promise<{
        message: string;
        id_bilan: number;
    }>;
    impression(res: any, id_bilan: number, req: any): Promise<import("express").Response<any, Record<string, any>>>;
}
