import { ReportingService } from './reporting.service';
import { DashboardService } from './dashboard.service';
import { ReportingAnalysisService } from './reporting-analysis.service';
import { ReportingCrossDto } from './dto/reporting-cross.dto';
export declare class ReportingController {
    private readonly reportingService;
    private readonly dashboardService;
    private readonly reportingAnalysisService;
    constructor(reportingService: ReportingService, dashboardService: DashboardService, reportingAnalysisService: ReportingAnalysisService);
    getSchema(): Promise<{
        sources: unknown[];
    }>;
    execute(dto: any): Promise<{
        visualization: string | undefined;
        availableVisualizations: string[];
        result: {
            columns: {
                id: string;
                label: string;
                type: string;
            }[];
            rows: any[];
            summary: {
                total: any;
                columns: {
                    value: any;
                };
            };
            measure: {
                id: string;
                decimals: number;
                unit: string | undefined;
            };
        };
    }>;
    dashboard(): Promise<{
        cards: {
            id: string;
            label: string;
            value: number;
        }[];
    }>;
    getConventionSummary(id: string): Promise<{
        usersCount: number;
        rdvCount: number;
        hours: number;
        sexe: {};
        qpv: {};
        statutEntree: {};
    }>;
    getConventionUsagers(id: string): Promise<{
        id: any;
        Nom: any;
        Prénom: any;
        Titre: any;
        Genre: string;
        "Date de naissance": string;
        "\u00C2ge exact": number;
        "\u00C2ge reporting": number;
        "N\u00B0 portable": any;
        "N\u00B0 t\u00E9l\u00E9phone": any;
        Courriel: any;
        Quartier: string;
        "Statuts d'entr\u00E9e": any;
        "D\u00E9partement de naissance": any;
        "Zone pays de naissance": string;
        "Pays de naissance": any;
        "Un des parents n\u00E9 \u00E0 l'\u00E9tranger": string;
        "Zone nationalit\u00E9": string;
        Nationalité: any;
        "Adresse ligne 1": any;
        "Adresse ligne 2": any;
        Localisation: string;
        "Situation matrimoniale": any;
        "Nombre d'enfants \u00E0 charge": any;
        "Situation du conjoint": any;
        Commentaire: any;
        "Type de logement": any;
        "Secteur de logement": any;
        "Niveau qualification dipl\u00F4me": string;
        "Intitul\u00E9 dipl\u00F4me": any;
        "Zone lieu du dipl\u00F4me": string;
        "Lieu du dipl\u00F4me": any;
        "Permis B": string;
        "Autre permis": any;
        "Moyen de locomotion": any;
        "Autre moyen de locomotion": any;
    }[]>;
    getConventionHours(id: string): Promise<{
        rows: {
            type: string;
            rdv: number;
            hours: number;
        }[];
        summary: {
            rdv: number;
            hours: number;
        };
    }>;
    getConventionUsagersMatrix(id: string): Promise<{
        columns: {
            id: number;
            label: string;
        }[];
        rows: any[];
        totals: {
            usagers: number;
            rdvByType: Record<number, number>;
        };
        indicators: {
            type: string | undefined;
            usagers: number;
            heures: number;
        }[];
    }>;
    getConventionConseillersMatrix(id: string): Promise<{
        columns: {
            id: number;
            label: string;
        }[];
        rows: any[];
        totals: {
            usagers: number;
            rdvByType: Record<number, number>;
        };
        indicators: any[];
    }>;
    getAnnualSummary(filters: any): Promise<{
        usersCount: number;
        rdvCount: number;
        hours: number;
        sexe: {};
        qpv: {};
        statutEntree: {};
    }>;
    getAnnualUsagers(filters: any): Promise<{
        id: any;
        Nom: any;
        Prénom: any;
        Titre: any;
        Genre: string;
        "Date de naissance": string;
        "\u00C2ge exact": number;
        "\u00C2ge reporting": number;
        "N\u00B0 portable": any;
        "N\u00B0 t\u00E9l\u00E9phone": any;
        Courriel: any;
        Quartier: string;
        "Statuts d'entr\u00E9e": any;
        "D\u00E9partement de naissance": any;
        "Zone pays de naissance": string;
        "Pays de naissance": any;
        "Un des parents n\u00E9 \u00E0 l'\u00E9tranger": string;
        "Zone nationalit\u00E9": string;
        Nationalité: any;
        "Adresse ligne 1": any;
        "Adresse ligne 2": any;
        Localisation: string;
        "Situation matrimoniale": any;
        "Nombre d'enfants \u00E0 charge": any;
        "Situation du conjoint": any;
        Commentaire: any;
        "Type de logement": any;
        "Secteur de logement": any;
        "Niveau qualification dipl\u00F4me": string;
        "Intitul\u00E9 dipl\u00F4me": any;
        "Zone lieu du dipl\u00F4me": string;
        "Lieu du dipl\u00F4me": any;
        "Permis B": string;
        "Autre permis": any;
        "Moyen de locomotion": any;
        "Autre moyen de locomotion": any;
    }[]>;
    getAnnualHours(filters: any): Promise<{
        rows: {
            type: string;
            rdv: number;
            hours: number;
        }[];
        summary: {
            rdv: number;
            hours: number;
        };
    }>;
    getAnnualUsagersMatrix(filters: any): Promise<{
        columns: {
            id: number;
            label: string;
        }[];
        rows: any[];
        totals: {
            usagers: number;
            rdvByType: Record<number, number>;
        };
        indicators: {
            type: string | undefined;
            usagers: number;
            heures: number;
        }[];
    }>;
    getAnnualConseillersMatrix(filters: any): Promise<{
        columns: {
            id: number;
            label: string;
        }[];
        rows: any[];
        totals: {
            usagers: number;
            rdvByType: Record<number, number>;
        };
        indicators: any[];
    }>;
    getRdvDetails(filters: any): Promise<{
        id: any;
        date: any;
        presence: string;
        type: any;
        contenu: any;
        duree: any;
        conseiller: string;
        convention: string;
        action: any;
        usager: string;
        commentaire: any;
    }[]>;
    getProjetDetails(filters: any): Promise<{
        intitule: any;
        convention: any;
        action: any;
        usager: string;
        creationAccompagnee: string;
        creationNonAccompagnee: string;
        repriseEntreprise: string;
        entrepriseCreee: string;
        aideFinanciere: string;
        dateReprise: any;
        dateCessation: any;
        motifCessation: any;
        couveuse: string;
        detailCouveuse: any;
        entrepriseNom: any;
        siret: any;
        dateCreationEntreprise: any;
        responsable: any;
        adresse: any;
        telephone1: any;
        telephone2: any;
        email: any;
        site: any;
        effectif: any;
        description: any;
    }[]>;
    getDimensions(): Promise<{
        id: string;
        label: string;
        dataset: string;
    }[]>;
    getMeasures(): Promise<{
        id: string;
        label: string;
        dataset: string;
    }[]>;
    executeCrossAnalysis(dto: ReportingCrossDto): Promise<{
        columns: {
            id: string;
            label: string;
            type: string;
        }[];
        rows: any[];
        summary: {
            total: any;
        };
    }>;
}
