import { DriverService } from './driver.service';
import { AdminEditvehicleDetailDto, DocUpdateDto, DriverStatusDto, EditCommission, EditvehicleDetailDto, GetPaginationDto, RefferalsDriverListingDto, ReviewDto, SetDocExpiryDateDto, SetDriverServicePrefrenceDto, SetExpiryDateDto, UpdateDriverBlockStatusDto, UpdateDriverRequestDto, UpdateDriverStatusDto, UpdateLicenceDto, UpdateLocationDto, driverVehicleListingDto, findDriverDto, findDriverRequestDto, searchDriver, vehicleDetailDto } from './dto/driver.dto';
import { UsersType } from 'src/auth/role/user.role';
export declare class DriverController {
    private readonly driverService;
    constructor(driverService: DriverService);
    getAllRefferalAvailDriversListing(dto: RefferalsDriverListingDto): Promise<{
        data: any[];
        message: string;
    }>;
    getVehicleServiceTypes(req: any): Promise<{
        data: ({
            value: string;
            label: string;
            type: import("./driver.service").PrefrencesType;
        } | {
            value: import("mongoose").Types.ObjectId;
            label: string;
            type: import("./driver.service").PrefrencesType;
        })[];
    }>;
    getServiceTypeOfAdmin(req: any, query: any): Promise<{
        cancellation_rate: number;
        rating: number;
        total_rides: number;
        acceptance_rate: number;
    }>;
    getAllDriverReviews(req: any, dto: ReviewDto): Promise<{
        data: any;
    }>;
    getCancellationRate(req: any): Promise<{
        cancellation_rate: number;
        total_accepted: number;
        completed: number;
        cancelled: number;
        last_10_days_cancelled: number;
        previous_average_per_10_days: number;
        trend: "stable" | "increase" | "decrease";
        difference: number;
    }>;
    getAcceptanceRate(req: any): Promise<{
        total_requests: number;
        accepted: number;
        declined: number;
        acceptance_rate: number;
        last_10_requests: {
            total: number;
            accepted: number;
            acceptance_rate: number;
        };
        previous_10_requests: {
            total: number;
            accepted: number;
            acceptance_rate: number;
        };
        accepted_last_10: number;
        trend: string;
        difference: number;
        rejected?: undefined;
    } | {
        acceptance_rate: number;
        total_requests: number;
        accepted: number;
        rejected: number;
        last_10_requests: {
            total: number;
            accepted: number;
            acceptance_rate: number;
        };
        previous_10_requests: {
            total: number;
            accepted: number;
            acceptance_rate: number;
        };
        accepted_last_10: number;
        trend: "stable" | "increase" | "decrease";
        difference: number;
        declined?: undefined;
    }>;
    getAllDocuments(req: any, dto: GetPaginationDto): Promise<{
        message: string;
        data: {
            data: (import("mongoose").FlattenMaps<{
                resource: import("../documents-type/schema/document-type.schema").DocumentResource;
                name: string;
                description: string;
                added_by: UsersType;
                status: import("../documents-type/schema/document-type.schema").DocumentStatus;
                sides_required: import("../documents-type/schema/document-type.schema").DocumentSidesRequired;
                created_by?: import("mongoose").Types.ObjectId;
                is_deleted: boolean;
            }> & {
                _id: import("mongoose").Types.ObjectId;
            } & {
                __v: number;
            })[];
            count: number;
        };
    }>;
    setDriverServicePrefrence(req: any, dto: SetDriverServicePrefrenceDto): Promise<{
        message: string;
    }>;
    getAllAdminDrivers(): Promise<{
        data: any;
    }>;
    getDriversServiceType(req: any): Promise<{
        service_type: string[];
    }>;
    UpdateDriverLocation(body: UpdateLocationDto, req: any): Promise<{
        message: string;
        data: {
            latitude: any;
            longitude: any;
            heading: any;
        };
    }>;
    changeServiceTypeForDrivers(service_type: any, req: any): Promise<{
        message: string;
    }>;
    make_vehicle_active(id: string, req: any): Promise<{
        message: string;
    }>;
    getDriverLocationLogs(id: string, timezone: string): Promise<{
        message: string;
        data: {
            date: number;
            logs: any[];
            totals: {
                on_ride: number;
                idle: number;
                going_to_pickup: number;
                total: number;
                on_ride_time: number;
                idle_time: number;
                going_to_pickup_time: number;
                total_time: number;
            };
        }[];
    }>;
    vehicle_detail(vehicleDetailDto: vehicleDetailDto, req: any): Promise<{
        message: any;
    }>;
    edit_vehicle_detail(vehicleDetailDto: EditvehicleDetailDto, req: any): Promise<{
        message: string;
    }>;
    edit_licence(body: UpdateLicenceDto, req: any): Promise<{
        message: string;
    }>;
    get_vehicles(req: any): Promise<{
        data: any[];
    }>;
    getWeeklyEarnings(req: any, weekStart: string): Promise<{
        week_range: {
            start: number;
            end: number;
            start_date: string;
            end_date: string;
        };
        weekly_total: number;
        chart: any;
        stats: {
            online: string;
            rides: number;
            kms_on_ride: number;
        };
        amount_breakdown: {
            cash_collected: number;
            online_collected: number;
            app_commission_paid: number;
        };
        weekly_rides_breakdown: any;
    }>;
    sos(req: any): Promise<{
        message: string;
    }>;
    get_driver_vehicles(id: string, body: driverVehicleListingDto): Promise<{
        data: (import("mongoose").Document<unknown, {}, import("./schema/vehicle-detail.schema").Vehicle_details, {}, {}> & import("./schema/vehicle-detail.schema").Vehicle_details & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        })[];
    }>;
    find_vehicle_detail(id: String, req: any): Promise<{
        data: any[];
    }>;
    find_document_detail(req: any): Promise<{
        data: import("mongoose").Document<unknown, {}, import("./schema/documents-details.schema").DocumentsDetails, {}, {}> & import("./schema/documents-details.schema").DocumentsDetails & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        };
    }>;
    go_online(req: any, body: DriverStatusDto): Promise<{
        message: any;
    }>;
    admin_edit_vehicle_detail(vehicleDetailDto: AdminEditvehicleDetailDto): Promise<{
        message: string;
    }>;
    findAll(body: findDriverDto, req: any): Promise<{
        count: any;
        data: any;
        active_drivers: number;
        in_active_drivers: number;
        block_drivers: number;
        deleted_drivers: number;
    }>;
    findAllFleetDrivers(id: string): Promise<{
        data: any;
    }>;
    findAllBackup(body: findDriverDto, req: any): Promise<{
        count: any;
        data: any;
    }>;
    findAllAndExport(body: findDriverDto, req: any): Promise<{
        data: any;
    }>;
    findOne(id: string): Promise<{
        data: any;
    }>;
    setDocumentExpiry(driverId: string, body: SetDocExpiryDateDto): Promise<{
        message: string;
        data: import("mongoose").Document<unknown, {}, import("./schema/driver.schema").Drivers, {}, {}> & import("./schema/driver.schema").Drivers & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        };
    }>;
    driver_bookings(id: string, page: number, limit: number): Promise<{
        count: any;
        data: any;
    }>;
    driver_vehicle_detail(id: string): Promise<{
        data: import("mongoose").Document<unknown, {}, import("./schema/vehicle-detail.schema").Vehicle_details, {}, {}> & import("./schema/vehicle-detail.schema").Vehicle_details & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        };
    }>;
    DriverRequests(body: findDriverRequestDto): Promise<{
        count: any;
        data: any;
        pendingDrivers: number;
        rejectedDrivers: number;
    }>;
    UpdateDocsRequests(body: DocUpdateDto): Promise<{
        count: any;
        data: any;
    }>;
    DriverRequestUpdate(body: UpdateDriverRequestDto): Promise<{
        message: string;
    }>;
    DriverStatusUpdate(body: UpdateDriverStatusDto): Promise<{
        message: string;
    }>;
    DriverStatusUpdateBlock(body: UpdateDriverBlockStatusDto): Promise<{
        message: string;
    }>;
    SetExpiryDate(id: string, body: SetExpiryDateDto): Promise<{
        message: string;
    }>;
    driver_earnings(id: string): Promise<{
        data: any[];
    }>;
    driver_active_vehicle(req: any): Promise<{
        data: import("mongoose").Document<unknown, {}, import("./schema/vehicle-detail.schema").Vehicle_details, {}, {}> & import("./schema/vehicle-detail.schema").Vehicle_details & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        };
    }>;
    check_expiry_date(): Promise<void>;
    vehicle_history(id: string, page: number, limit: number): Promise<{
        count: number;
        data: (import("mongoose").Document<unknown, {}, import("./schema/docs-update-history").DocsUpdateHistory, {}, {}> & import("./schema/docs-update-history").DocsUpdateHistory & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        })[];
    }>;
    checkdrivers(lat: string, long: string): Promise<number>;
    availableDriver(): Promise<{
        data: any[];
    }>;
    driverPayoutHistoryExport(id: string): Promise<{
        driver_name: string;
        driver_country_code: string;
        driver_phone: string;
        total_bookings: number;
        total_vat: number;
        payment_due_to_app: number;
        payment_due_to_driver: number;
        payment_settled: string;
        booking_data: any[];
    }>;
    driverCommision(body: EditCommission): Promise<{
        message: string;
    }>;
    TrackDriverList(body: searchDriver, req: any): Promise<{
        data: any;
        count: any;
    }>;
}
