export interface DailyReportData {
    date: Date;
    project: {
        name: string;
        code: string;
    };
    tickets: {
        total: number;
        byStatus: Record<string, number>;
        byPriority: Record<string, number>;
        byCategory: Record<string, number>;
        list: Array<{
            ticketCode: string;
            title: string;
            status: string;
            priority: string;
            category: string;
            createdAt: Date;
        }>;
    };
    workOrders: {
        total: number;
        completed: number;
        inProgress: number;
        totalCost: number;
    };
    summary: {
        openTickets: number;
        resolvedTickets: number;
        completedWorkOrders: number;
    };
}
export interface MonthlyReportData {
    month: string;
    project: {
        name: string;
        code: string;
        capacityMWp: number;
    };
    kpi: {
        avgPR: number;
        avgAvailability: number;
        totalProduction: number;
        avgSpecificYield: number;
        avgIrradiation: number;
    };
    tickets: {
        total: number;
        resolved: number;
        avgResolutionTime: number;
        byCategory: Record<string, number>;
    };
    workOrders: {
        total: number;
        completed: number;
        totalCost: number;
        costBreakdown: {
            labor: number;
            material: number;
            external: number;
        };
        list?: Array<{
            woCode: string;
            title: string;
            workOrderType: string;
            status: string;
            priority: string;
            scheduledStart?: Date | string;
            scheduledEnd?: Date | string;
            actualStart?: Date | string;
            actualEnd?: Date | string;
            costLabor: number;
            costMaterial: number;
            costExternal: number;
            totalCost: number;
            pmSchedule?: {
                frequency: string;
                lastPerformed?: Date;
                nextDue?: Date;
                description?: string;
                title?: string;
            } | null;
            createdAt?: Date | string;
        }>;
    };
    financial: {
        revenue: number;
        opex: number;
        netProfit: number;
    };
}
export interface FinancialReportData {
    period: string;
    project: {
        name: string;
        code: string;
    };
    financials: Array<{
        month: string;
        revenue: number;
        opex: number;
        netProfit: number;
        cumulativeROI: number;
    }>;
    summary: {
        totalRevenue: number;
        totalOpex: number;
        totalNetProfit: number;
        avgROI: number;
        profitMargin: number;
        currentROI: number;
    };
    costBreakdown: Array<{
        name: string;
        value: number;
    }>;
    screenshot?: string;
}
export interface AuditReportData {
    period: {
        start: Date;
        end: Date;
    };
    project?: {
        name: string;
        code: string;
    };
    logs: Array<{
        timestamp: Date;
        user: string;
        action: string;
        targetCollection: string;
        details: string;
    }>;
    summary: {
        totalActions: number;
        byAction: Record<string, number>;
        byCollection: Record<string, number>;
    };
}
export declare class ReportDataService {
    /**
     * Get data for Daily Report
     */
    static getDailyReportData(projectId: any, date: Date): Promise<DailyReportData>;
    /**
     * Get data for Monthly Report
     */
    static getMonthlyReportData(projectId: any, month: string): Promise<MonthlyReportData>;
    /**
     * Get data for Financial Report
     */
    static getFinancialReportData(projectId: any, startMonth: string, endMonth: string): Promise<FinancialReportData>;
    /**
     * Get data for Audit Report
     */
    static getAuditReportData(projectId: any | undefined, startDate: Date, endDate: Date): Promise<AuditReportData>;
}
//# sourceMappingURL=reportDataService.d.ts.map