import { PrismaService } from 'prisma/prisma.service';
import { AuditService } from "src/audit/audit.service";
export declare class RGPDService {
    private prisma;
    private auditService;
    constructor(prisma: PrismaService, auditService: AuditService);
    getAllRequests(): Promise<{
        id: any;
        usager_id: any;
        usager_nom: any;
        usager_prenom: any;
        dossier_reference: any;
        type: any;
        statut: any;
        canal: any;
        date_reception: any;
        date_limite: any;
        date_cloture: any;
        description_demande: any;
        notes_internes: any;
        reponse_apportee: any;
        historique: any;
    }[]>;
    getRequestById(id: number): Promise<{
        id: any;
        usager_id: any;
        usager_nom: any;
        usager_prenom: any;
        dossier_reference: any;
        type: any;
        statut: any;
        canal: any;
        date_reception: any;
        date_limite: any;
        date_cloture: any;
        description_demande: any;
        notes_internes: any;
        reponse_apportee: any;
        historique: any;
    }>;
    createRequest(dto: any, currentUser?: any): Promise<{
        id: number;
        createdat: Date | null;
        updatedat: Date | null;
        id_usager: number | null;
        id_type_demande: number | null;
        id_statut: number | null;
        id_canal: number | null;
        description_demande: string | null;
        date_reception: Date | null;
        date_limite: Date | null;
        date_cloture: Date | null;
        id_assigne_a: number | null;
        notes_internes: string | null;
        reponse_apportee: string | null;
    }>;
    updateRequestStatus(id: number, data: any, currentUser?: any): Promise<{
        id: number;
        createdat: Date | null;
        updatedat: Date | null;
        id_usager: number | null;
        id_type_demande: number | null;
        id_statut: number | null;
        id_canal: number | null;
        description_demande: string | null;
        date_reception: Date | null;
        date_limite: Date | null;
        date_cloture: Date | null;
        id_assigne_a: number | null;
        notes_internes: string | null;
        reponse_apportee: string | null;
    }>;
    updateRequest(id: number, dto: any, currentUser?: any): Promise<{
        id: number;
        createdat: Date | null;
        updatedat: Date | null;
        id_usager: number | null;
        id_type_demande: number | null;
        id_statut: number | null;
        id_canal: number | null;
        description_demande: string | null;
        date_reception: Date | null;
        date_limite: Date | null;
        date_cloture: Date | null;
        id_assigne_a: number | null;
        notes_internes: string | null;
        reponse_apportee: string | null;
    }>;
    removeRequest(id: number, currentUser?: any): Promise<{
        id: number;
        createdat: Date | null;
        updatedat: Date | null;
        id_usager: number | null;
        id_type_demande: number | null;
        id_statut: number | null;
        id_canal: number | null;
        description_demande: string | null;
        date_reception: Date | null;
        date_limite: Date | null;
        date_cloture: Date | null;
        id_assigne_a: number | null;
        notes_internes: string | null;
        reponse_apportee: string | null;
    }>;
    closeRequest(id: number, currentUser?: any): Promise<{
        id: number;
        createdat: Date | null;
        updatedat: Date | null;
        id_usager: number | null;
        id_type_demande: number | null;
        id_statut: number | null;
        id_canal: number | null;
        description_demande: string | null;
        date_reception: Date | null;
        date_limite: Date | null;
        date_cloture: Date | null;
        id_assigne_a: number | null;
        notes_internes: string | null;
        reponse_apportee: string | null;
    }>;
    getStats(): Promise<{
        total: number;
        recues: number;
        en_cours: number;
        terminees: number;
        refusees: number;
        en_retard: number;
    }>;
    exportAccess(id: number): Promise<{
        generatedAt: string;
        usager: {
            id: number;
            nom: string | null;
            prenom: string | null;
            email: string | null;
            createdat: Date | null;
            updatedat: Date | null;
            adresse_ligne_1: string | null;
            adresse_ligne_2: string | null;
            sexe: import("@prisma/client").$Enums.sexe_usager | null;
            titre: import("@prisma/client").$Enums.titre_usager | null;
            date_naissance: Date | null;
            dpt_naissance: string | null;
            zone_pays_naissance: import("@prisma/client").$Enums.code_pays_zone | null;
            pays_naissance: number | null;
            zone_nationalite: import("@prisma/client").$Enums.code_pays_zone | null;
            nationalite: number | null;
            un_des_parents_ne_etranger: import("@prisma/client").$Enums.questions_fermees | null;
            id_lieu_de_proximite: number | null;
            id_quartier: number | null;
            no_tel: string | null;
            no_portable: string | null;
            id_situation_matrimoniale: number | null;
            nb_enfants_a_charge: number | null;
            id_situation_conjoint: number | null;
            commentaire_famille: string | null;
            id_type_logement: number | null;
            id_secteur_logement: number | null;
            id_niv_qualif_diplome: number | null;
            nom_diplome: string | null;
            zone_lieu_diplome: import("@prisma/client").$Enums.code_pays_zone | null;
            id_lieu_diplome: number | null;
            permis_b: boolean | null;
            autre_permis: string | null;
            id_moyen_locomotion: number | null;
            autre_moyen_locomotion: string | null;
            beneficiaire_plie: boolean | null;
            no_caf: number | null;
        } | null;
        dossier: {
            id: number;
            date_integration: Date | null;
            id_conseiller_referent: number | null;
            id_prescripteur: number | null;
            detail_prescripteur: string | null;
            no_dossier: string | null;
            id_usager: number | null;
        } | null;
        rdvs: {
            id: number;
            id_action: number | null;
            id_dossier: number | null;
            date_rdv: Date | null;
            id_type_rdv: number | null;
            id_objet_rdv: number | null;
            id_conseiller: number | null;
            id_presence: number | null;
            presence_autre: string | null;
            tps_passe_h: import("@prisma/client-runtime-utils").Decimal | null;
            id_ref_convention: number | null;
            commentaire: string | null;
        }[];
        contrats: {
            id: number;
            date_debut: Date | null;
            date_fin: Date | null;
            id_dossier: number | null;
            duree_contrat_mois: number | null;
            id_service_insertion: number | null;
            id_organisme_referent_unique: number | null;
            id_gestionnaire_admin: number | null;
            id_conseiller_rsa: number | null;
            id_referent_unique: number | null;
        }[];
    }>;
    exportPortability(id: number): Promise<{
        generatedAt: string;
        usager: {
            id: number;
            nom: string | null;
            prenom: string | null;
            email: string | null;
            createdat: Date | null;
            updatedat: Date | null;
            adresse_ligne_1: string | null;
            adresse_ligne_2: string | null;
            sexe: import("@prisma/client").$Enums.sexe_usager | null;
            titre: import("@prisma/client").$Enums.titre_usager | null;
            date_naissance: Date | null;
            dpt_naissance: string | null;
            zone_pays_naissance: import("@prisma/client").$Enums.code_pays_zone | null;
            pays_naissance: number | null;
            zone_nationalite: import("@prisma/client").$Enums.code_pays_zone | null;
            nationalite: number | null;
            un_des_parents_ne_etranger: import("@prisma/client").$Enums.questions_fermees | null;
            id_lieu_de_proximite: number | null;
            id_quartier: number | null;
            no_tel: string | null;
            no_portable: string | null;
            id_situation_matrimoniale: number | null;
            nb_enfants_a_charge: number | null;
            id_situation_conjoint: number | null;
            commentaire_famille: string | null;
            id_type_logement: number | null;
            id_secteur_logement: number | null;
            id_niv_qualif_diplome: number | null;
            nom_diplome: string | null;
            zone_lieu_diplome: import("@prisma/client").$Enums.code_pays_zone | null;
            id_lieu_diplome: number | null;
            permis_b: boolean | null;
            autre_permis: string | null;
            id_moyen_locomotion: number | null;
            autre_moyen_locomotion: string | null;
            beneficiaire_plie: boolean | null;
            no_caf: number | null;
        } | null;
        dossier: {
            id: number;
            date_integration: Date | null;
            id_conseiller_referent: number | null;
            id_prescripteur: number | null;
            detail_prescripteur: string | null;
            no_dossier: string | null;
            id_usager: number | null;
        } | null;
        rdvs: {
            id: number;
            id_action: number | null;
            id_dossier: number | null;
            date_rdv: Date | null;
            id_type_rdv: number | null;
            id_objet_rdv: number | null;
            id_conseiller: number | null;
            id_presence: number | null;
            presence_autre: string | null;
            tps_passe_h: import("@prisma/client-runtime-utils").Decimal | null;
            id_ref_convention: number | null;
            commentaire: string | null;
        }[];
        contrats: {
            id: number;
            date_debut: Date | null;
            date_fin: Date | null;
            id_dossier: number | null;
            duree_contrat_mois: number | null;
            id_service_insertion: number | null;
            id_organisme_referent_unique: number | null;
            id_gestionnaire_admin: number | null;
            id_conseiller_rsa: number | null;
            id_referent_unique: number | null;
        }[];
    }>;
    anonymise(usagerId: number, currentUser?: any): Promise<{
        success: boolean;
        usager_id: number;
    }>;
    private buildExportData;
    private createHistory;
    private mapRGPDRequest;
    private randomValue;
}
