import { PrismaService } from "../../infra/prisma/prisma.service";
import { ReportQueryDto } from "./dto/report-query.dto";
export declare class ReportsService {
    private readonly prisma;
    constructor(prisma: PrismaService);
    getSummary(companyId: string, query: ReportQueryDto): Promise<{
        totalRevenue: number;
        totalMaintenanceCost: number;
        netProfit: number;
        activeRentalsCount: number;
        totalEquipmentCount: number;
        rentedEquipmentCount: number;
        fleetUtilizationRate: number;
    }>;
    getFinancialReport(companyId: string, query: ReportQueryDto): Promise<{
        items: ({
            id: string;
            type: "RECEIVABLE";
            description: string;
            entityName: string;
            amount: number;
            status: import(".prisma/client").$Enums.FinancialStatus;
            dueDate: string;
            paidAt: string | null;
        } | {
            id: string;
            type: "PAYABLE";
            description: string;
            entityName: string;
            amount: number;
            status: import(".prisma/client").$Enums.FinancialStatus;
            dueDate: string;
            paidAt: string | null;
        })[];
        summary: {
            totalReceivables: number;
            totalPayables: number;
            balance: number;
        };
    }>;
    getFleetReport(companyId: string, query: ReportQueryDto): Promise<{
        items: {
            id: string;
            code: string;
            name: string;
            categoryName: string;
            brand: string;
            model: string;
            status: import(".prisma/client").$Enums.EquipmentStatus;
            totalRentals: number;
            totalRevenue: number;
            totalMaintenanceCost: number;
            netBalance: number;
        }[];
    }>;
    getMaintenanceReport(companyId: string, query: ReportQueryDto): Promise<{
        items: {
            id: string;
            code: string;
            title: string;
            equipmentName: string;
            supplierName: string;
            cost: number;
            status: import(".prisma/client").$Enums.MaintenanceStatus;
            openedAt: string;
            closedAt: string | null;
        }[];
        summary: {
            totalOrders: number;
            totalCost: number;
        };
    }>;
}
