import { ClientCompanyRepository } from "../../clients-companies/repositories/clients-companies.repository";
import { HospitalRepository } from "../../hospitals/repositories/hospital.repository";
import { CustomerRepository } from "../../customers/repositories/customers.repository";
import { EscortRepository } from "../../escorts/repositories/escort.repository";
import { TripRepository } from "../../trips/repositories/trip.repository";
import { FleetManagementRepository } from "../../fleet-management/repositories/fleet-management.repository";
import { GetDashboardStatsDto } from "../dto/get-dashboard-stats.dto";
import { UserLoginRepository } from "src/modules/auth/repositories/user-login.repository";
export declare class DashboardService {
    private clientCompanyRepository;
    private hospitalRepository;
    private customerRepository;
    private escortRepository;
    private tripRepository;
    private fleetManagementRepository;
    private readonly userLoginRepository;
    constructor(clientCompanyRepository: ClientCompanyRepository, hospitalRepository: HospitalRepository, customerRepository: CustomerRepository, escortRepository: EscortRepository, tripRepository: TripRepository, fleetManagementRepository: FleetManagementRepository, userLoginRepository: UserLoginRepository);
    private createdAtRangeFromQuery;
    findAll(token: any, query: GetDashboardStatsDto): Promise<{
        total_clients: number;
        total_hospitals: number;
        total_customers: {
            total: number;
            from_clients: number;
            direct: number;
        };
        total_customer_escorts: {
            total: number;
            sponsored: number;
            non_sponsored: number;
        };
        total_trips: {
            total: number;
            completed: number;
            cancelled: number;
            ongoing: number;
        };
        total_vehicles: {
            total: number;
            assigned: number;
            unassigned: number;
            owner: {
                nuskin: number;
                driver: number;
                third_party: number;
            };
        };
    }>;
    getTotalClients(query: GetDashboardStatsDto): Promise<number>;
    getTotalHospitals(query: GetDashboardStatsDto): Promise<number>;
    getTotalCustomers(query: GetDashboardStatsDto, isDispatcher: boolean, teamMemberId: number): Promise<{
        total: number;
        from_clients: number;
        direct: number;
    }>;
    getTotalCustomerEscorts(query: GetDashboardStatsDto): Promise<{
        total: number;
        sponsored: number;
        non_sponsored: number;
    }>;
    getTotalTrips(query: GetDashboardStatsDto, isDispatcher: boolean, teamMemberId: number): Promise<{
        total: number;
        completed: number;
        cancelled: number;
        ongoing: number;
    }>;
    getTotalVehicles(query: GetDashboardStatsDto, isDispatcher: boolean, teamMemberId: number): Promise<{
        total: number;
        assigned: number;
        unassigned: number;
        owner: {
            nuskin: number;
            driver: number;
            third_party: number;
        };
    }>;
}
