import { ConsultationMotif } from './../consultation/entities/consultation_motif.entity';
import { ConsultationMotifConsultation } from './../consultation/entities/consultation_motif_consultation.entity';
import { UpdatePatientDto } from './dto/update-patient.dto';
import { Patient } from './entities/patient.entity';
import { Repository, DataSource } from 'typeorm';
import { CreatePatientDto } from './dto/create-patient.dto';
import { Utilisateur } from '../user/entities/user.entity';
import { Consultation } from '../consultation/entities/consultation.entity';
import { SignedUrlService } from '../signed-url-doc/signed-url.service';
import { UploadFunctions } from '../functions/upload.function';
export declare class PatientService {
    private readonly patientRepository;
    private readonly utilisateurRepository;
    private dataSource;
    private readonly consultationRepository;
    private readonly consultationMotifRepository;
    private readonly consultationMotifConsultationRepository;
    private readonly signedUrlService;
    private readonly uploadFunction;
    constructor(patientRepository: Repository<Patient>, utilisateurRepository: Repository<Utilisateur>, dataSource: DataSource, consultationRepository: Repository<Consultation>, consultationMotifRepository: Repository<ConsultationMotif>, consultationMotifConsultationRepository: Repository<ConsultationMotifConsultation>, signedUrlService: SignedUrlService, uploadFunction: UploadFunctions);
    private capitalizeFirstLetter;
    CreatePatient(CreatePatientDto: CreatePatientDto, userId: number): Promise<any>;
    UpdatePatient(updatePatientDto: UpdatePatientDto, userId: number, idPatient: number): Promise<Patient | Utilisateur>;
    getPatient(patientId: number, cabinetId: number): Promise<any>;
    getEvolutionconstantePatient(id_cabinet: number, id_patient: number, id_constante: number): Promise<any[]>;
    getImageriePatient(id_cabinet: number, id_patient: number): Promise<any[]>;
    deletepiecejointe(id_document: number): Promise<{
        message: string;
    }>;
    downloadImg(id_img: number, id_cabinet: number): Promise<{
        url: string;
        filename: string;
    }>;
    getPatients(userId: number, term: string, page: number, limit: number, sortBy?: string, sortOrder?: 'ASC' | 'DESC'): Promise<any>;
    deletePatient(patientId: number): Promise<{
        message: string;
    }>;
    exportPatientsToExcel(userId: number): Promise<Buffer>;
    addpiecejointe(id_cabinet: number, id_patient: number, files: any): Promise<void>;
}
