import { TripRepository } from "../../trips/repositories/trip.repository";
import { ExcelService } from "src/utils/xlsx";
import { TeamMemberRepository } from "../../team-member/repositories/team_member.repository";
import { TripBasePricingRepository } from "../../trips/repositories/trip-base-price.repository";
import { TripAddOnsPricingRepository } from "../../trips/repositories/trip-addons-pricing.repository";
import { HospitalRepository } from "../../hospitals/repositories/hospital.repository";
import { FleetManagementRepository } from "../../fleet-management/repositories/fleet-management.repository";
import { PaymentRepository } from "../../payment/repositories/payment.repository";
import { InvoiceRepository } from "../../invoices/repositories/invoice.repository";
import { CustomerRepository } from "../../customers/repositories/customers.repository";
interface TripSummaryParams {
    start_date?: string;
    end_date?: string;
    driver_id?: number;
    dispatcher_id?: number;
    client_id?: number;
    city_id?: number;
    service_type?: string;
    status?: string;
    search?: string;
    skip?: number;
    limit?: number;
    is_export?: boolean;
}
export declare class ReportService {
    private readonly tripRepository;
    private readonly excelService;
    private readonly teamMemberRepository;
    private readonly tripBasePricingRepository;
    private readonly tripAddonsPricingRepository;
    private readonly hospitalRepository;
    private readonly fleetManagementRepository;
    private readonly paymentRepository;
    private readonly invoiceRepository;
    private readonly customerRepository;
    private readonly logger;
    constructor(tripRepository: TripRepository, excelService: ExcelService, teamMemberRepository: TeamMemberRepository, tripBasePricingRepository: TripBasePricingRepository, tripAddonsPricingRepository: TripAddOnsPricingRepository, hospitalRepository: HospitalRepository, fleetManagementRepository: FleetManagementRepository, paymentRepository: PaymentRepository, invoiceRepository: InvoiceRepository, customerRepository: CustomerRepository);
    private formatDate;
    private buildTripQueryBuilder;
    tripSummary(params: TripSummaryParams): Promise<{
        success: boolean;
        code: number;
        message: string;
        data: any;
    }>;
    customerTransportHistory({ search, skip, limit, is_export }: {
        search: any;
        skip?: number;
        limit?: number;
        is_export: any;
    }): Promise<{
        success: boolean;
        code: number;
        message: string;
        data: any;
    }>;
    dispatcherPerformance({ start_date, end_date, dispatcher_id, search, skip, limit, is_export, }: {
        start_date: any;
        end_date: any;
        dispatcher_id: any;
        search: any;
        skip?: number;
        limit?: number;
        is_export: any;
    }): Promise<{
        success: boolean;
        code: number;
        message: string;
        data: any;
    }>;
    driverPerformance({ start_date, end_date, driver_id, search, skip, limit, is_export, }: {
        start_date: any;
        end_date: any;
        driver_id: any;
        search: any;
        skip?: number;
        limit?: number;
        is_export: any;
    }): Promise<{
        success: boolean;
        code: number;
        message: string;
        data: any;
    }>;
    hospitalReport({ search, state, skip, limit, is_export }: {
        search: any;
        state: any;
        skip?: number;
        limit?: number;
        is_export: any;
    }): Promise<{
        success: boolean;
        code: number;
        message: string;
        data: any;
    }>;
    vehicleUtilization({ search, state, vehicle_type, skip, limit, is_export, }: {
        search: any;
        state: any;
        vehicle_type: any;
        skip?: number;
        limit?: number;
        is_export: any;
    }): Promise<{
        success: boolean;
        code: number;
        message: string;
        data: any;
    }>;
    paymentCollectionSummary({ start_date, end_date, search, client_id, payment_method, skip, limit, is_export, }: {
        start_date: any;
        end_date: any;
        search: any;
        client_id: any;
        payment_method: any;
        skip?: number;
        limit?: number;
        is_export: any;
    }): Promise<{
        success: boolean;
        code: number;
        message: string;
        data: any;
    }>;
    pendingPaymentsOutstandingReport({ start_date, end_date, search, client_id, skip, limit, is_export, }: {
        start_date: any;
        end_date: any;
        search: any;
        client_id: any;
        skip?: number;
        limit?: number;
        is_export: any;
    }): Promise<{
        success: boolean;
        code: number;
        message: string;
        data: any;
    }>;
    annualTransportBusinessSummary({ year, search, skip, limit, is_export, }: {
        year: any;
        search: any;
        skip?: number;
        limit?: number;
        is_export: any;
    }): Promise<{
        success: boolean;
        code: number;
        message: string;
        data: any;
    }>;
    private formatTripDataForExcel;
    private formatDispatcherPerformanceForExcel;
    private formatDriverPerformanceForExcel;
    private formatHospitalReportForExcel;
    private formatCustomerTransportHistoryForExcel;
    private formatVehicleUtilizationForExcel;
    private formatPaymentCollectionSummaryForExcel;
    private formatPendingPaymentsOutstandingForExcel;
    private formatAnnualTransportBusinessSummaryForExcel;
    private calculateTripTotalPrice;
}
export {};
