import { CreateOrdonnanceDto } from './dto/createOrdonnance.dto';
import { OrdonnanceFunctions } from '../functions/ordonnance.function';
import { OrdonnanceService } from './ordonnance.service';
import { DataSource } from 'typeorm';
import { ModelesOrdonnancesService } from '../modeles_ordonnances/modeles_ordonnances.service';
import { StaticDocumentsImpressionFunction } from '../functions/static-documents-impression.function';
import { ImpressionFunctions } from '../functions/impression.function';
import { Response } from 'express';
export declare class OrdonnanceController {
    private readonly ordonnanceFunctions;
    private readonly dataSource;
    private readonly OrdonnanceModelService;
    private readonly ordonnanceService;
    private readonly staticDocumentsImpressionFunction;
    private readonly impressionFunctions;
    constructor(ordonnanceFunctions: OrdonnanceFunctions, dataSource: DataSource, OrdonnanceModelService: ModelesOrdonnancesService, ordonnanceService: OrdonnanceService, staticDocumentsImpressionFunction: StaticDocumentsImpressionFunction, impressionFunctions: ImpressionFunctions);
    create(id_patient: number, createOrdonnanceDto: CreateOrdonnanceDto, req: any, id_consultation: number): Promise<import("../consultation/entities/prescription.entity").Ordonance>;
    update(id_ordonnance: number, createOrdonnanceDto: CreateOrdonnanceDto, req: any, id_consultation: number): Promise<import("../consultation/entities/prescription.entity").Ordonance>;
    getOrdonnance(id_ordonnance: number): Promise<{
        id: number;
        id_consultation: number;
        id_patient: number;
        note: string;
        date: string;
        date_delivrance: Date;
        medicaments: {
            id: number;
            ordonnance_medicament: string;
            posologie: string;
        }[];
    }>;
    getOrdonnances(id_patient: number, Page: number, limit: number): Promise<{
        liste: {
            id: number;
            date: string;
            id_patient: number;
            id_consultation: number;
            note: string;
            medicament: string[];
            date_delivrance: any;
        }[];
        total: number;
    }>;
    getOrdonnancesByConsultations(id_consultation: number, page: number, limit: number): Promise<{
        liste: {
            id: number;
            note: string;
            date: string;
            date_delivrance: string;
            id_patient: number;
            medicament: string[];
        }[];
        total: number;
    }>;
    delete(id_ordonnance: number): Promise<{
        message: string;
    }>;
    createWithModele(id_patient: number, id_modele_ordonnance: number, req: any, dto: CreateOrdonnanceDto): Promise<import("../consultation/entities/prescription.entity").Ordonance>;
    impression(res: any, id_ordonnance: number, req: any): Promise<Response<any, Record<string, any>>>;
}
