import { OrderUpdateStatus, orderListDto, Listing, findDriverDto, driverOrderListDto, payoutListDto, findDriverRequestDto, findDriverUpdateRequestDto, SetExpiryDateDto, DriverBlockDto, UpdatePendingDriverStatusDto, UpdateDriveRequest, location, driverListDto } from "./dto/create-driver.dto";
import { restaurant_request_list_dto } from "src/restaurant/dto/restaurant.dto";
import { DriverService } from './driver.service';
import { AdminEditvehicleDetailDto, CreateFleetDriverDto, DocUpdateDto, DriverStatusDto, EditCommission, EditvehicleDetailDto, GetPaginationDto, MergedDriverDto, RefferalsDriverListingDto, ReviewDto, SetDocExpiryDateDto, SetDriverServicePrefrenceDto, SetUlternateVehicleOptionsDto, UpdateDriverBlockStatusDto, UpdateDriverRequestDto, UpdateDriverStatusDto, UpdateLicenceDto, UpdateLocationDto, driverVehicleListingDto, searchDriver, vehicleDetailDto } from './dto/driver.dto';
import { UsersType } from 'src/auth/role/user.role';
import { GetVehicleTypesDto } from 'src/vehicle/dto/vehicle.dto';
export declare class DriverController {
    private readonly driverService;
    constructor(driverService: DriverService);
    getMergedDrivers(body: MergedDriverDto): Promise<{
        data: (import("mongoose").FlattenMaps<import("mongoose").Document<unknown, {}, import("../driver-customer-backup/schema/driverBackup.schema").DriversBackup, {}, {}> & import("../driver-customer-backup/schema/driverBackup.schema").DriversBackup & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        }> & Required<{
            _id: import("mongoose").Types.ObjectId;
        }>)[];
        count: number;
        page: number;
        limit: number;
    }>;
    getAllFleetDrivers(req: any): Promise<{
        data: any;
    }>;
    getAllRefferalAvailDriversListing(dto: RefferalsDriverListingDto): Promise<{
        data: {
            _id: any;
            date: any;
            referred_by: {
                name: any;
                phone: any;
                country_code: any;
            };
            referred_to: {
                name: any;
                phone: any;
                country_code: any;
                email: any;
            };
            bookings_to_complete: any;
            bookings_completed: number;
            days_left: number;
            bonus: any;
            payout_status: string;
            status: string;
        }[];
        count: number;
        message: import("../common/helpers/message-keys.enum").MessageKey;
    }>;
    CreateFleetDriver(req: any, body: CreateFleetDriverDto): 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;
        };
    }>;
    getVehicleServiceTypes(req: any, query: GetVehicleTypesDto): Promise<{
        data: ({
            value: string;
            label: string;
            type: import("./driver.service").PrefrencesType;
        } | {
            value: import("mongoose").Types.ObjectId;
            label: string;
            type: import("./driver.service").PrefrencesType;
        })[];
    }>;
    getVehicleUlternateTypes(req: any): Promise<{
        ulternate_vehicle_types: (import("mongoose").Document<unknown, {}, import("../vehicle/schema/vehicle-type.schema").Vehicle_types, {}, {}> & import("../vehicle/schema/vehicle-type.schema").Vehicle_types & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        })[];
    }>;
    getServiceTypeOfAdmin(req: any, query: any): Promise<{
        cancellation_rate: number;
        rating: number;
        total_rides: number;
        acceptance_rate: number;
    }>;
    admin_edit_vehicle_detail(vehicleDetailDto: AdminEditvehicleDetailDto): Promise<{
        message: import("../common/helpers/message-keys.enum").MessageKey;
    }>;
    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: "increase" | "decrease" | "stable";
        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: "increase" | "decrease" | "stable";
        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;
                expiry_required: boolean;
                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: import("../common/helpers/message-keys.enum").MessageKey;
    }>;
    setUlternateVehicleOptions(req: any, dto: SetUlternateVehicleOptionsDto): Promise<{
        message: import("../common/helpers/message-keys.enum").MessageKey;
    }>;
    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: import("../common/helpers/message-keys.enum").MessageKey;
        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: import("../common/helpers/message-keys.enum").MessageKey;
    }>;
    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: import("../common/helpers/message-keys.enum").MessageKey;
    }>;
    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;
    }>;
    findAll(body: findDriverDto, req: any): Promise<{
        count: any;
        data: any;
        active_drivers: number;
        in_active_drivers: number;
        block_drivers: number;
        deleted_drivers: number;
        pending_drivers: number;
        rejected_drivers: number;
        pendingDrivers: number;
        rejectedDrivers: number;
    }>;
    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: import("../common/helpers/message-keys.enum").MessageKey;
        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_orders_list(body: driverOrderListDto): 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, req: any): Promise<{
        count: any;
        data: any;
        pendingDrivers: number;
        rejectedDrivers: number;
        pending_drivers: number;
        rejected_drivers: number;
    }>;
    UpdateDocsRequests(body: DocUpdateDto): Promise<{
        count: any;
        data: any;
    }>;
    DriverRequestUpdate(body: UpdateDriverRequestDto): Promise<{
        message: import("../common/helpers/message-keys.enum").MessageKey;
    }>;
    DriverStatusUpdate(body: UpdateDriverStatusDto): Promise<{
        message: import("../common/helpers/message-keys.enum").MessageKey;
    }>;
    DriverStatusUpdateBlock(body: UpdateDriverBlockStatusDto): Promise<{
        message: import("../common/helpers/message-keys.enum").MessageKey;
    }>;
    SetExpiryDate(id: string, body: SetExpiryDateDto): Promise<{
        message: string;
    }>;
    driver_earnings(id: string, timeZone: 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: number;
    }>;
    UpdateOrderStatus(body: OrderUpdateStatus, req: any): Promise<{
        message: string;
    }>;
    driverOrderList(body: orderListDto): Promise<{
        count: any;
        data: any;
    }>;
    driverOpenOrderList(req: any, dto: Listing): Promise<{
        count: number;
        data: any[];
    }>;
    getDriverAnalytics(id: string): Promise<{
        data: {
            total_orders: number;
            total_active_order: number;
            total_orders_delivered: number;
            total_cancelled_order: number;
            cancellation_order_percentage: number;
            total_revane_amount: number;
            total_receve_commsion_amount: number;
        };
    }>;
    payoutList(body: payoutListDto): Promise<{
        count: any;
        total_payout: any;
        data: any;
    }>;
    DriverUpdateRequests(body: findDriverUpdateRequestDto): Promise<{
        count: any;
        data: any;
    }>;
    driverUpdateRequests(body: restaurant_request_list_dto): Promise<{
        count: any;
        data: any;
    }>;
    blockDriver(body: DriverBlockDto): Promise<{
        message: string;
    }>;
    updatePendingStatus(body: UpdatePendingDriverStatusDto): Promise<{
        message: string;
    }>;
    UpdateRequest(body: UpdateDriveRequest, _id: string): Promise<{
        message: string;
    }>;
    DriverEarnings(body: driverOrderListDto): Promise<void>;
    updateLocation(body: location, req: any): Promise<{
        message: string;
    }>;
    getDriverDocsList(body: restaurant_request_list_dto, req: any): Promise<{
        count: any;
        data: any;
        pending_count: number;
        rejected_count: number;
    }>;
    getAvaliableDrivers(dto: driverListDto, restarurent_id: string): Promise<{
        message: string;
        data: any[];
    }>;
    createDriverIncentiveCron(): Promise<void>;
    getDriverWallet(req: any): Promise<{
        wallet_balance: number;
        cod_due_amount: number;
        cod_max_limit: number;
        cod_blocked: boolean;
    }>;
    addWalletFunds(req: any, body: {
        amount: number;
    }): Promise<{
        razorpay: {
            amount: any;
            currency: any;
            id: any;
            order_id: any;
            slot_id: any;
            plate_id: any;
        };
        amount: number;
        client_secret?: undefined;
        payment_intent_id?: undefined;
    } | {
        client_secret: string;
        payment_intent_id: string;
        razorpay?: undefined;
        amount?: undefined;
    }>;
    getDriverTransactions(req: any, query: {
        page?: number;
        limit?: number;
    }): Promise<any>;
    getDriverWalletByAdmin(driver_id: string): Promise<{
        wallet_balance: number;
        cod_due_amount: number;
        cod_max_limit: number;
        cod_blocked: boolean;
    }>;
    getDriverWalletTransactionsByAdmin(driver_id: string, query: {
        page?: number;
        limit?: number;
    }): Promise<any>;
    settleCodAmount(driver_id: string, body: {
        amount: number;
        note?: string;
    }, req: any): Promise<{
        message: string;
        cod_due_before: number;
        cod_due_after: number;
        settled_amount: number;
    }>;
    getVendorsList(search?: string): Promise<{
        message: string;
        data: (import("mongoose").FlattenMaps<{
            flag: string;
            restaurant_id: string;
            name: string;
            email: string;
            country_code: string;
            phone: string;
            image: string;
            temp_email: string;
            temp_phone: string;
            temp_country_code: string;
            temp_email_otp: number;
            temp_phone_otp: number;
            temp_email_otp_at: number;
            temp_phone_otp_at: number;
            is_active: boolean;
            is_block: boolean;
            block_reason: string;
            is_email_verify: boolean;
            is_phone_verify: boolean;
            is_address_added: boolean;
            is_detail_added: boolean;
            is_timing_added: boolean;
            is_bank_added: boolean;
            is_menu_added: boolean;
            is_catering_menu_added: boolean;
            is_verfication_submitted: boolean;
            device_type: string;
            is_deleted: boolean;
            customer_id: string;
            razor_contact_id: string;
            razor_fund_account_id: string;
            country: string;
            socket_id: string;
            connection_id: string;
            preferred_currency: string;
            preferred_language: string;
            currency_symbol: string;
            delete_reason: string;
            report_reason_id: string;
            delete_description: string;
            created_at: number;
            updated_at: number;
            admin_payout_action: boolean;
            cashfree_beneficiary_account_id: string;
            pending_status: string;
            pending_status_reason: string;
        }> & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        })[];
    }>;
    getDailyOnlineLogs(driver_id: string, date: string, startDate: string, endDate: string, req: any): Promise<{
        data: (import("mongoose").FlattenMaps<{
            driver_id: import("mongoose").Types.ObjectId;
            date: string;
            sessions: {
                online_at: number;
                offline_at: number;
                duration_seconds: number;
            }[];
            total_online_seconds: number;
            total_online_hours: number;
        }> & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        })[];
    }>;
    getWorkingHoursStatus(driver_id: string, req: any): Promise<{
        message: string;
        data: {
            date: string;
            driver_working_hour_enable: boolean;
            daily_max_working_hours: string;
            max_allowed_seconds: number;
            total_completed_seconds: number;
            total_completed_hours: number;
            remaining_seconds: number;
            remaining_hours: number;
            is_limit_exceeded: boolean;
        };
    }>;
}
