import { Consultation } from './entities/consultation.entity';
import { Repository } from 'typeorm';
import { CreateConsultationDto } from './dto/consultation.dto';
import { Ordonance } from './entities/prescription.entity';
import { OrdonanceMedicament } from './entities/prescription_medicament.entity';
import { Medicament } from './entities/medicament.entity';
import { ConsultationMotif } from './entities/consultation_motif.entity';
import { ConsultationMotifConsultation } from './entities/consultation_motif_consultation.entity';
import { UpdateConsultationDto } from './dto/consulationUpdate.dto';
import { Documents } from './entities/document.entity';
import { DataSource } from 'typeorm';
import { OrdonnanceFunctions } from '../functions/ordonnance.function';
import { Patient } from '../patient/entities/patient.entity';
import { UploadFunctions } from '../functions/upload.function';
import { SignedUrlService } from 'src/modules/signed-url-doc/signed-url.service';
import { DureeService } from '../functions/correctDureeType.function';
import { TypeConsultation } from '../type_consultation/entities/type_consultation.entity';
import { ConsultationTypeConsultation } from './entities/consultation_type_consultation.entity';
import { EvenementService } from '../evenenement/evenenement.service';
export declare class ConsultationService {
    private readonly consultationRepository;
    private readonly consultationTypeConsultationRepository;
    private readonly typeConsultationRepository;
    private readonly prescriptionRepository;
    private readonly ordonnanceMedicamentRepository;
    private readonly medicamentRepository;
    private readonly consultationMotifRepository;
    private readonly consultationMotifConsultationRepository;
    private readonly documentRepository;
    private readonly dataSource;
    private readonly patientRepository;
    private readonly ordonnanceFunctions;
    private readonly uploadFunctions;
    private readonly signedUrlService;
    private readonly dureeService;
    private readonly evenementService;
    constructor(consultationRepository: Repository<Consultation>, consultationTypeConsultationRepository: Repository<ConsultationTypeConsultation>, typeConsultationRepository: Repository<TypeConsultation>, prescriptionRepository: Repository<Ordonance>, ordonnanceMedicamentRepository: Repository<OrdonanceMedicament>, medicamentRepository: Repository<Medicament>, consultationMotifRepository: Repository<ConsultationMotif>, consultationMotifConsultationRepository: Repository<ConsultationMotifConsultation>, documentRepository: Repository<Documents>, dataSource: DataSource, patientRepository: Repository<Patient>, ordonnanceFunctions: OrdonnanceFunctions, uploadFunctions: UploadFunctions, signedUrlService: SignedUrlService, dureeService: DureeService, evenementService: EvenementService);
    private calculateHonoraires;
    create(createConsultationDto: CreateConsultationDto, id_patient: number, id_cabinet: number, id_medecin: number): Promise<{
        message: string;
        id_consultation: number;
    }>;
    update(updateConsultationDto: UpdateConsultationDto, id_cabinet: number, id_medecin: number, id_consultation: number): Promise<{
        message: string;
    }>;
    getConsultation(id_consultation: number, id_cabinet: number): 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[];
    }>;
    toggleMutuelle(id_consultation: number): Promise<boolean>;
    private getConsultationTypes;
    getConsultations(id_patient: number, id_cabinet: number, page: number, limit: number): Promise<any>;
    delete(id_consultation: number): Promise<{
        message: string;
    }>;
}
