import { Types } from 'mongoose';
import { BookingService } from './booking.service';
import { AddtipDto, AvailableCouponDto, UpdateTipPaymentTypeDto, BookingStatusDto, CalculateVehiclePriceDto, CancelBookingDto, CreateBookingDto, RideStatus, UpdateBookingDto, findBookingDto, DispatcherGetBookingsDto, DriverIdDto, AssignDriverDto, DriverListOnDispatcherForAssignDto, getReceiptDto, AssignFleetDto, CalculatePricingOnAdminDto } from './dto/booking.dto';
import { Response } from 'express';
import { CreateBookingService } from './create.booking.service';
import { AvailableRideService } from './avaliable.rides.service';
import { PayoutType } from 'src/configuration/schema/app-configuration.schema';
import { ShareRideService } from 'src/common/helpers/share-ride.service';
import { JoinShareRideDto, DriverRespondToJoinDto, StepDoneDto } from './dto/share-ride.dto';
export declare class BookingController {
    private readonly bookingService;
    private readonly createBookingService;
    private readonly availableRideService;
    private readonly shareRideService;
    constructor(bookingService: BookingService, createBookingService: CreateBookingService, availableRideService: AvailableRideService, shareRideService: ShareRideService);
    prcings(body: any): Promise<any>;
    getBookingAmount(createBookingDto: CreateBookingDto, req: any): Promise<any>;
    createBooking(createBookingDto: CreateBookingDto, req: any): Promise<(import("mongoose").Document<unknown, {}, import("./schema/booking.schema").Booking, {}, {}> & import("./schema/booking.schema").Booking & {
        _id: Types.ObjectId;
    } & {
        __v: number;
    }) | {
        message: string;
        booking: any;
    } | {
        booking: any;
        amount: number;
        meta: any;
        ref_id: string;
    } | {
        booking: any;
        client_secret: string;
        paymentIntent: string;
        status: import("stripe").Stripe.PaymentIntent.Status;
        requires_action: boolean;
        amount: number;
        ephemeralKey: any;
        customer: any;
        order_id?: undefined;
        cf_order_id?: undefined;
        payment_sessions_id?: undefined;
    } | {
        booking: any;
        order_id: any;
        amount: number;
        client_secret?: undefined;
        paymentIntent?: undefined;
        status?: undefined;
        requires_action?: undefined;
        ephemeralKey?: undefined;
        customer?: undefined;
        cf_order_id?: undefined;
        payment_sessions_id?: undefined;
    } | {
        booking: any;
        order_id: any;
        cf_order_id: any;
        payment_sessions_id: any;
        amount: any;
        client_secret?: undefined;
        paymentIntent?: undefined;
        status?: undefined;
        requires_action?: undefined;
        ephemeralKey?: undefined;
        customer?: undefined;
    }>;
    getReceipt(query: getReceiptDto): Promise<{
        message: string;
    }>;
    dispatcherBookingList(payload: DispatcherGetBookingsDto, req: any): Promise<{
        data: (import("mongoose").FlattenMaps<{
            customer_id: string;
            package_id: string;
            parent_booking_id: string;
            booking_group_id: string;
            vehicle_count: number;
            duration_fare_return_trip: number;
            duration_fare_single_trip: number;
            vehicle_sequence: number;
            company_id: string;
            company_client_id: string;
            dispatcher_id: string;
            type: string;
            assigned_by: string;
            driver_id: string;
            agent_customer_id: string;
            agent_id: string;
            pass_id: Types.ObjectId;
            invoice_id: string;
            booking_id: string;
            is_cancellation_requested: string;
            ride_type: string;
            pickup_option: string;
            rzr_order_id: string;
            stripe_intent_id: string;
            distance_to_pickup: number;
            distance_to_drop: number;
            payment_id: string;
            is_salaried_booking: boolean;
            need_load_unload: boolean;
            cashfree_order_id: string;
            total_payable_amount: number;
            deposit_amount: number;
            incentive_applied: number;
            incentive: number;
            vehicle_body_preference: string;
            number_of_days: number;
            per_day_charges: number;
            load_unload_charges: number;
            delivery_charges: number;
            days_exceed: number;
            cashfree_refund_id: string;
            refund_confirmed: boolean;
            is_ac_ride: boolean;
            is_share_ride: boolean;
            share_ride_session_id: string;
            payment_session_id: string;
            you_earn: number;
            return_requested_at: number;
            eta_return_trip: number;
            eta: number;
            per_minute_charges: number;
            base_minutes: number;
            you_earn_commission: number;
            you_earn_pass: number;
            free_load_unload_time: number;
            cancellation_charges_paid: number;
            routeUrl: string;
            is_request_type_broadcast: boolean;
            request_type: import("./schema/booking.schema").RequestType;
            sender_name: string;
            address_language: string;
            sender_country_code: string;
            sender_number: string;
            receiver_name: string;
            receiver_country_code: string;
            commission_type: string;
            fleet_id: Types.ObjectId;
            requested_fleet_id: Types.ObjectId;
            receiver_number: string;
            is_broadcast: boolean;
            is_bundle_booking: boolean;
            bundle_name: string;
            bundle_image: string;
            parcel_details: string;
            airport_pickup_charges: number;
            cancellation_charges: number;
            airport_drop_charges: number;
            flight_number: string;
            is_airport_pickup: boolean;
            is_airport_dropoff: boolean;
            arrived_at_intercity_destination: number;
            started_from_intercity_destination: number;
            coupon_id: string;
            vehicle_id: string;
            original_vehicle_id: string;
            vehicleDetail_id: string;
            payment_confirmed: boolean;
            parcel_img_at_pickup: string;
            parcel_img_at_drop: string;
            payment_received: boolean;
            pickup_address: string;
            drop_address: string;
            return_pickup_address: string;
            return_drop_address: string;
            pickup_lat: string;
            pickup_long: string;
            return_pickup_lat: string;
            return_pickup_long: string;
            total_distance_covered: number;
            drop_lat: string;
            drop_long: string;
            return_drop_lat: string;
            return_drop_long: string;
            paid_amount: number;
            pending_amount: number;
            stops: {
                name: string;
                lat: {
                    readonly [x: number]: string;
                    toString: () => string;
                    charAt: (pos: number) => string;
                    charCodeAt: (index: number) => number;
                    concat: (...strings: string[]) => string;
                    indexOf: (searchString: string, position?: number) => number;
                    lastIndexOf: (searchString: string, position?: number) => number;
                    localeCompare: {
                        (that: string): number;
                        (that: string, locales?: string | string[], options?: Intl.CollatorOptions): number;
                        (that: string, locales?: Intl.LocalesArgument, options?: Intl.CollatorOptions): number;
                    };
                    match: {
                        (regexp: string | RegExp): RegExpMatchArray | null;
                        (matcher: {
                            [Symbol.match](string: string): RegExpMatchArray | null;
                        }): RegExpMatchArray | null;
                    };
                    replace: {
                        (searchValue: string | RegExp, replaceValue: string): string;
                        (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string;
                        (searchValue: {
                            [Symbol.replace](string: string, replaceValue: string): string;
                        }, replaceValue: string): string;
                        (searchValue: {
                            [Symbol.replace](string: string, replacer: (substring: string, ...args: any[]) => string): string;
                        }, replacer: (substring: string, ...args: any[]) => string): string;
                    };
                    search: {
                        (regexp: string | RegExp): number;
                        (searcher: {
                            [Symbol.search](string: string): number;
                        }): number;
                    };
                    slice: (start?: number, end?: number) => string;
                    split: {
                        (separator: string | RegExp, limit?: number): string[];
                        (splitter: {
                            [Symbol.split](string: string, limit?: number): string[];
                        }, limit?: number): string[];
                    };
                    substring: (start: number, end?: number) => string;
                    toLowerCase: () => string;
                    toLocaleLowerCase: {
                        (locales?: string | string[]): string;
                        (locales?: Intl.LocalesArgument): string;
                    };
                    toUpperCase: () => string;
                    toLocaleUpperCase: {
                        (locales?: string | string[]): string;
                        (locales?: Intl.LocalesArgument): string;
                    };
                    trim: () => string;
                    readonly length: number;
                    substr: (from: number, length?: number) => string;
                    valueOf: () => string;
                    codePointAt: (pos: number) => number | undefined;
                    includes: (searchString: string, position?: number) => boolean;
                    endsWith: (searchString: string, endPosition?: number) => boolean;
                    normalize: {
                        (form: "NFC" | "NFD" | "NFKC" | "NFKD"): string;
                        (form?: string): string;
                    };
                    repeat: (count: number) => string;
                    startsWith: (searchString: string, position?: number) => boolean;
                    anchor: (name: string) => string;
                    big: () => string;
                    blink: () => string;
                    bold: () => string;
                    fixed: () => string;
                    fontcolor: (color: string) => string;
                    fontsize: {
                        (size: number): string;
                        (size: string): string;
                    };
                    italics: () => string;
                    link: (url: string) => string;
                    small: () => string;
                    strike: () => string;
                    sub: () => string;
                    sup: () => string;
                    padStart: (maxLength: number, fillString?: string) => string;
                    padEnd: (maxLength: number, fillString?: string) => string;
                    trimEnd: () => string;
                    trimStart: () => string;
                    trimLeft: () => string;
                    trimRight: () => string;
                    matchAll: (regexp: RegExp) => RegExpStringIterator<RegExpExecArray>;
                    replaceAll: {
                        (searchValue: string | RegExp, replaceValue: string): string;
                        (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string;
                    };
                    [Symbol.iterator]: () => StringIterator<string>;
                    at: (index: number) => string;
                };
                long: {
                    readonly [x: number]: string;
                    toString: () => string;
                    charAt: (pos: number) => string;
                    charCodeAt: (index: number) => number;
                    concat: (...strings: string[]) => string;
                    indexOf: (searchString: string, position?: number) => number;
                    lastIndexOf: (searchString: string, position?: number) => number;
                    localeCompare: {
                        (that: string): number;
                        (that: string, locales?: string | string[], options?: Intl.CollatorOptions): number;
                        (that: string, locales?: Intl.LocalesArgument, options?: Intl.CollatorOptions): number;
                    };
                    match: {
                        (regexp: string | RegExp): RegExpMatchArray | null;
                        (matcher: {
                            [Symbol.match](string: string): RegExpMatchArray | null;
                        }): RegExpMatchArray | null;
                    };
                    replace: {
                        (searchValue: string | RegExp, replaceValue: string): string;
                        (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string;
                        (searchValue: {
                            [Symbol.replace](string: string, replaceValue: string): string;
                        }, replaceValue: string): string;
                        (searchValue: {
                            [Symbol.replace](string: string, replacer: (substring: string, ...args: any[]) => string): string;
                        }, replacer: (substring: string, ...args: any[]) => string): string;
                    };
                    search: {
                        (regexp: string | RegExp): number;
                        (searcher: {
                            [Symbol.search](string: string): number;
                        }): number;
                    };
                    slice: (start?: number, end?: number) => string;
                    split: {
                        (separator: string | RegExp, limit?: number): string[];
                        (splitter: {
                            [Symbol.split](string: string, limit?: number): string[];
                        }, limit?: number): string[];
                    };
                    substring: (start: number, end?: number) => string;
                    toLowerCase: () => string;
                    toLocaleLowerCase: {
                        (locales?: string | string[]): string;
                        (locales?: Intl.LocalesArgument): string;
                    };
                    toUpperCase: () => string;
                    toLocaleUpperCase: {
                        (locales?: string | string[]): string;
                        (locales?: Intl.LocalesArgument): string;
                    };
                    trim: () => string;
                    readonly length: number;
                    substr: (from: number, length?: number) => string;
                    valueOf: () => string;
                    codePointAt: (pos: number) => number | undefined;
                    includes: (searchString: string, position?: number) => boolean;
                    endsWith: (searchString: string, endPosition?: number) => boolean;
                    normalize: {
                        (form: "NFC" | "NFD" | "NFKC" | "NFKD"): string;
                        (form?: string): string;
                    };
                    repeat: (count: number) => string;
                    startsWith: (searchString: string, position?: number) => boolean;
                    anchor: (name: string) => string;
                    big: () => string;
                    blink: () => string;
                    bold: () => string;
                    fixed: () => string;
                    fontcolor: (color: string) => string;
                    fontsize: {
                        (size: number): string;
                        (size: string): string;
                    };
                    italics: () => string;
                    link: (url: string) => string;
                    small: () => string;
                    strike: () => string;
                    sub: () => string;
                    sup: () => string;
                    padStart: (maxLength: number, fillString?: string) => string;
                    padEnd: (maxLength: number, fillString?: string) => string;
                    trimEnd: () => string;
                    trimStart: () => string;
                    trimLeft: () => string;
                    trimRight: () => string;
                    matchAll: (regexp: RegExp) => RegExpStringIterator<RegExpExecArray>;
                    replaceAll: {
                        (searchValue: string | RegExp, replaceValue: string): string;
                        (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string;
                    };
                    [Symbol.iterator]: () => StringIterator<string>;
                    at: (index: number) => string;
                };
            }[];
            return_stops: {
                name: string;
                lat: {
                    readonly [x: number]: string;
                    toString: () => string;
                    charAt: (pos: number) => string;
                    charCodeAt: (index: number) => number;
                    concat: (...strings: string[]) => string;
                    indexOf: (searchString: string, position?: number) => number;
                    lastIndexOf: (searchString: string, position?: number) => number;
                    localeCompare: {
                        (that: string): number;
                        (that: string, locales?: string | string[], options?: Intl.CollatorOptions): number;
                        (that: string, locales?: Intl.LocalesArgument, options?: Intl.CollatorOptions): number;
                    };
                    match: {
                        (regexp: string | RegExp): RegExpMatchArray | null;
                        (matcher: {
                            [Symbol.match](string: string): RegExpMatchArray | null;
                        }): RegExpMatchArray | null;
                    };
                    replace: {
                        (searchValue: string | RegExp, replaceValue: string): string;
                        (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string;
                        (searchValue: {
                            [Symbol.replace](string: string, replaceValue: string): string;
                        }, replaceValue: string): string;
                        (searchValue: {
                            [Symbol.replace](string: string, replacer: (substring: string, ...args: any[]) => string): string;
                        }, replacer: (substring: string, ...args: any[]) => string): string;
                    };
                    search: {
                        (regexp: string | RegExp): number;
                        (searcher: {
                            [Symbol.search](string: string): number;
                        }): number;
                    };
                    slice: (start?: number, end?: number) => string;
                    split: {
                        (separator: string | RegExp, limit?: number): string[];
                        (splitter: {
                            [Symbol.split](string: string, limit?: number): string[];
                        }, limit?: number): string[];
                    };
                    substring: (start: number, end?: number) => string;
                    toLowerCase: () => string;
                    toLocaleLowerCase: {
                        (locales?: string | string[]): string;
                        (locales?: Intl.LocalesArgument): string;
                    };
                    toUpperCase: () => string;
                    toLocaleUpperCase: {
                        (locales?: string | string[]): string;
                        (locales?: Intl.LocalesArgument): string;
                    };
                    trim: () => string;
                    readonly length: number;
                    substr: (from: number, length?: number) => string;
                    valueOf: () => string;
                    codePointAt: (pos: number) => number | undefined;
                    includes: (searchString: string, position?: number) => boolean;
                    endsWith: (searchString: string, endPosition?: number) => boolean;
                    normalize: {
                        (form: "NFC" | "NFD" | "NFKC" | "NFKD"): string;
                        (form?: string): string;
                    };
                    repeat: (count: number) => string;
                    startsWith: (searchString: string, position?: number) => boolean;
                    anchor: (name: string) => string;
                    big: () => string;
                    blink: () => string;
                    bold: () => string;
                    fixed: () => string;
                    fontcolor: (color: string) => string;
                    fontsize: {
                        (size: number): string;
                        (size: string): string;
                    };
                    italics: () => string;
                    link: (url: string) => string;
                    small: () => string;
                    strike: () => string;
                    sub: () => string;
                    sup: () => string;
                    padStart: (maxLength: number, fillString?: string) => string;
                    padEnd: (maxLength: number, fillString?: string) => string;
                    trimEnd: () => string;
                    trimStart: () => string;
                    trimLeft: () => string;
                    trimRight: () => string;
                    matchAll: (regexp: RegExp) => RegExpStringIterator<RegExpExecArray>;
                    replaceAll: {
                        (searchValue: string | RegExp, replaceValue: string): string;
                        (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string;
                    };
                    [Symbol.iterator]: () => StringIterator<string>;
                    at: (index: number) => string;
                };
                long: {
                    readonly [x: number]: string;
                    toString: () => string;
                    charAt: (pos: number) => string;
                    charCodeAt: (index: number) => number;
                    concat: (...strings: string[]) => string;
                    indexOf: (searchString: string, position?: number) => number;
                    lastIndexOf: (searchString: string, position?: number) => number;
                    localeCompare: {
                        (that: string): number;
                        (that: string, locales?: string | string[], options?: Intl.CollatorOptions): number;
                        (that: string, locales?: Intl.LocalesArgument, options?: Intl.CollatorOptions): number;
                    };
                    match: {
                        (regexp: string | RegExp): RegExpMatchArray | null;
                        (matcher: {
                            [Symbol.match](string: string): RegExpMatchArray | null;
                        }): RegExpMatchArray | null;
                    };
                    replace: {
                        (searchValue: string | RegExp, replaceValue: string): string;
                        (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string;
                        (searchValue: {
                            [Symbol.replace](string: string, replaceValue: string): string;
                        }, replaceValue: string): string;
                        (searchValue: {
                            [Symbol.replace](string: string, replacer: (substring: string, ...args: any[]) => string): string;
                        }, replacer: (substring: string, ...args: any[]) => string): string;
                    };
                    search: {
                        (regexp: string | RegExp): number;
                        (searcher: {
                            [Symbol.search](string: string): number;
                        }): number;
                    };
                    slice: (start?: number, end?: number) => string;
                    split: {
                        (separator: string | RegExp, limit?: number): string[];
                        (splitter: {
                            [Symbol.split](string: string, limit?: number): string[];
                        }, limit?: number): string[];
                    };
                    substring: (start: number, end?: number) => string;
                    toLowerCase: () => string;
                    toLocaleLowerCase: {
                        (locales?: string | string[]): string;
                        (locales?: Intl.LocalesArgument): string;
                    };
                    toUpperCase: () => string;
                    toLocaleUpperCase: {
                        (locales?: string | string[]): string;
                        (locales?: Intl.LocalesArgument): string;
                    };
                    trim: () => string;
                    readonly length: number;
                    substr: (from: number, length?: number) => string;
                    valueOf: () => string;
                    codePointAt: (pos: number) => number | undefined;
                    includes: (searchString: string, position?: number) => boolean;
                    endsWith: (searchString: string, endPosition?: number) => boolean;
                    normalize: {
                        (form: "NFC" | "NFD" | "NFKC" | "NFKD"): string;
                        (form?: string): string;
                    };
                    repeat: (count: number) => string;
                    startsWith: (searchString: string, position?: number) => boolean;
                    anchor: (name: string) => string;
                    big: () => string;
                    blink: () => string;
                    bold: () => string;
                    fixed: () => string;
                    fontcolor: (color: string) => string;
                    fontsize: {
                        (size: number): string;
                        (size: string): string;
                    };
                    italics: () => string;
                    link: (url: string) => string;
                    small: () => string;
                    strike: () => string;
                    sub: () => string;
                    sup: () => string;
                    padStart: (maxLength: number, fillString?: string) => string;
                    padEnd: (maxLength: number, fillString?: string) => string;
                    trimEnd: () => string;
                    trimStart: () => string;
                    trimLeft: () => string;
                    trimRight: () => string;
                    matchAll: (regexp: RegExp) => RegExpStringIterator<RegExpExecArray>;
                    replaceAll: {
                        (searchValue: string | RegExp, replaceValue: string): string;
                        (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string;
                    };
                    [Symbol.iterator]: () => StringIterator<string>;
                    at: (index: number) => string;
                };
            }[];
            app_commission: number;
            app_commission_value: number;
            insurance_multiplier: number;
            app_commission_unit: "percentage" | "fixed";
            arrived_at_stop_1: number;
            started_from_stop_1: number;
            arrived_at_return_stop_1: number;
            started_from_return_stop_1: number;
            arrived_at_return_stop_2: number;
            started_from_return_stop_2: number;
            total_rental_hours: number;
            total_hours: number;
            extra_hours: number;
            admin_amount: number;
            payout_amount: number;
            extra_hours_amount: number;
            extra_kms_amount: number;
            extra_kms: number;
            arrived_at_stop_2: number;
            started_from_stop_2: number;
            arrived_pickup_loc_at: number;
            schedule_date: number;
            drop_time: number;
            exceeded_drop_time: number;
            booking_status: string;
            booking_type: string;
            ride_status: string;
            cancelled_reason: string;
            is_ride_started: boolean;
            sent_dispatch_noti: boolean;
            booking_reminder_noti: boolean;
            cancelled_by: string;
            payment_gateway: string;
            payment_method: string;
            payment_method_id: string;
            payment_status: string;
            distance_in_km: number;
            single_way_distance: number;
            return_trip_distance: number;
            base_fee: number;
            base_fee_with_discount: number;
            stop_charges: number;
            surcharge_amount: number;
            agent_commission: number;
            agent_commission_percentage: string;
            surcharge_multiplier: number;
            toll_price: number;
            tip_driver: number;
            gst: number;
            commission_gst_amount: number;
            payout_gst_amount: number;
            coupon_discount: number;
            total_amount: number;
            deduction_of_return_trip: number;
            cancellation_total: number;
            return_trip_charges: number;
            night_stay_charges: number;
            gender_prefrence: import("./schema/booking.schema").GenderPrefrence;
            ride_otp: number;
            is_return_trip_active: boolean;
            return_trip_otp: number;
            waiting_charge_per_min: number;
            is_waiting_charge_noti_send: boolean;
            is_unloading_charge_noti_send: boolean;
            is_stop1_charge_noti_send: boolean;
            is_stop2_charge_noti_send: boolean;
            is_return_stop1_charge_noti_send: boolean;
            is_return_stop2_charge_noti_send: boolean;
            is_intercity_waiting_noti_send: boolean;
            rate_by_customer: boolean;
            rate_by_driver: boolean;
            is_driver_assigned_automatically: boolean;
            extimated_delivery_time: string;
            start_ride_at: number;
            reached_destination: number;
            last_stop_charges_mins: number;
            last_unloading_charges_mins: number;
            return_trip: boolean;
            night_stay: boolean;
            last_stop2_charges_mins: number;
            last_return_stop1_charges_mins: number;
            last_return_stop2_charges_mins: number;
            last_intercity_waiting_mins: number;
            last_start_ride_charges_mins: number;
            complete_delivery_at: number;
            is_volunteer: boolean;
            filter: string[];
            created_at: number;
            updated_at: number;
            requested_by: string;
            guest_name: string;
            guest_country_code: string;
            guest_phone: string;
            guest_alternate_country_code: string;
            guest_alternate_phone: string;
            hourly_rate: number;
            hourly_km_rate: number;
            hourly_max_km: number;
            kms_limit: number;
            add_up_kms: number;
            insurance_fees: number;
            insurance_fees_multiplier: number;
            city_fees: number;
            city_fees_value: number;
            city_fees_unit: string;
            infrastructure_fees: number;
            commission_percentage: number;
            intercity_commision_percentage: number;
            basic_trip_amount: number;
            total_trip_price_to_be_paid_by_customer: number;
            booking_for: string;
            number_of_seats: number;
        }> & {
            _id: Types.ObjectId;
        } & {
            __v: number;
        })[];
        count: number;
    }>;
    generateInvoice(res: Response, id: string, timezone: string): Promise<Response<any, Record<string, any>>>;
    getCompanyLogs(id: string): Promise<(import("mongoose").FlattenMaps<{
        userId: string;
        driverId: string;
        companyId: string;
        agentId: string;
        fleetId: string;
        action: string;
        resource: string;
        description: string;
        payload?: any;
        requestdata?: [];
        booking_id: string;
        record_model: string;
        record_id: string;
        created_at: number;
        guest_name: string;
        guest_alternate_phone: string;
        guest_phone: string;
    }> & {
        _id: Types.ObjectId;
    } & {
        __v: number;
    })[]>;
    scheduledBookingList(payload: DispatcherGetBookingsDto, req: any): Promise<{
        data: (import("mongoose").FlattenMaps<{
            customer_id: string;
            package_id: string;
            parent_booking_id: string;
            booking_group_id: string;
            vehicle_count: number;
            duration_fare_return_trip: number;
            duration_fare_single_trip: number;
            vehicle_sequence: number;
            company_id: string;
            company_client_id: string;
            dispatcher_id: string;
            type: string;
            assigned_by: string;
            driver_id: string;
            agent_customer_id: string;
            agent_id: string;
            pass_id: Types.ObjectId;
            invoice_id: string;
            booking_id: string;
            is_cancellation_requested: string;
            ride_type: string;
            pickup_option: string;
            rzr_order_id: string;
            stripe_intent_id: string;
            distance_to_pickup: number;
            distance_to_drop: number;
            payment_id: string;
            is_salaried_booking: boolean;
            need_load_unload: boolean;
            cashfree_order_id: string;
            total_payable_amount: number;
            deposit_amount: number;
            incentive_applied: number;
            incentive: number;
            vehicle_body_preference: string;
            number_of_days: number;
            per_day_charges: number;
            load_unload_charges: number;
            delivery_charges: number;
            days_exceed: number;
            cashfree_refund_id: string;
            refund_confirmed: boolean;
            is_ac_ride: boolean;
            is_share_ride: boolean;
            share_ride_session_id: string;
            payment_session_id: string;
            you_earn: number;
            return_requested_at: number;
            eta_return_trip: number;
            eta: number;
            per_minute_charges: number;
            base_minutes: number;
            you_earn_commission: number;
            you_earn_pass: number;
            free_load_unload_time: number;
            cancellation_charges_paid: number;
            routeUrl: string;
            is_request_type_broadcast: boolean;
            request_type: import("./schema/booking.schema").RequestType;
            sender_name: string;
            address_language: string;
            sender_country_code: string;
            sender_number: string;
            receiver_name: string;
            receiver_country_code: string;
            commission_type: string;
            fleet_id: Types.ObjectId;
            requested_fleet_id: Types.ObjectId;
            receiver_number: string;
            is_broadcast: boolean;
            is_bundle_booking: boolean;
            bundle_name: string;
            bundle_image: string;
            parcel_details: string;
            airport_pickup_charges: number;
            cancellation_charges: number;
            airport_drop_charges: number;
            flight_number: string;
            is_airport_pickup: boolean;
            is_airport_dropoff: boolean;
            arrived_at_intercity_destination: number;
            started_from_intercity_destination: number;
            coupon_id: string;
            vehicle_id: string;
            original_vehicle_id: string;
            vehicleDetail_id: string;
            payment_confirmed: boolean;
            parcel_img_at_pickup: string;
            parcel_img_at_drop: string;
            payment_received: boolean;
            pickup_address: string;
            drop_address: string;
            return_pickup_address: string;
            return_drop_address: string;
            pickup_lat: string;
            pickup_long: string;
            return_pickup_lat: string;
            return_pickup_long: string;
            total_distance_covered: number;
            drop_lat: string;
            drop_long: string;
            return_drop_lat: string;
            return_drop_long: string;
            paid_amount: number;
            pending_amount: number;
            stops: {
                name: string;
                lat: {
                    readonly [x: number]: string;
                    toString: () => string;
                    charAt: (pos: number) => string;
                    charCodeAt: (index: number) => number;
                    concat: (...strings: string[]) => string;
                    indexOf: (searchString: string, position?: number) => number;
                    lastIndexOf: (searchString: string, position?: number) => number;
                    localeCompare: {
                        (that: string): number;
                        (that: string, locales?: string | string[], options?: Intl.CollatorOptions): number;
                        (that: string, locales?: Intl.LocalesArgument, options?: Intl.CollatorOptions): number;
                    };
                    match: {
                        (regexp: string | RegExp): RegExpMatchArray | null;
                        (matcher: {
                            [Symbol.match](string: string): RegExpMatchArray | null;
                        }): RegExpMatchArray | null;
                    };
                    replace: {
                        (searchValue: string | RegExp, replaceValue: string): string;
                        (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string;
                        (searchValue: {
                            [Symbol.replace](string: string, replaceValue: string): string;
                        }, replaceValue: string): string;
                        (searchValue: {
                            [Symbol.replace](string: string, replacer: (substring: string, ...args: any[]) => string): string;
                        }, replacer: (substring: string, ...args: any[]) => string): string;
                    };
                    search: {
                        (regexp: string | RegExp): number;
                        (searcher: {
                            [Symbol.search](string: string): number;
                        }): number;
                    };
                    slice: (start?: number, end?: number) => string;
                    split: {
                        (separator: string | RegExp, limit?: number): string[];
                        (splitter: {
                            [Symbol.split](string: string, limit?: number): string[];
                        }, limit?: number): string[];
                    };
                    substring: (start: number, end?: number) => string;
                    toLowerCase: () => string;
                    toLocaleLowerCase: {
                        (locales?: string | string[]): string;
                        (locales?: Intl.LocalesArgument): string;
                    };
                    toUpperCase: () => string;
                    toLocaleUpperCase: {
                        (locales?: string | string[]): string;
                        (locales?: Intl.LocalesArgument): string;
                    };
                    trim: () => string;
                    readonly length: number;
                    substr: (from: number, length?: number) => string;
                    valueOf: () => string;
                    codePointAt: (pos: number) => number | undefined;
                    includes: (searchString: string, position?: number) => boolean;
                    endsWith: (searchString: string, endPosition?: number) => boolean;
                    normalize: {
                        (form: "NFC" | "NFD" | "NFKC" | "NFKD"): string;
                        (form?: string): string;
                    };
                    repeat: (count: number) => string;
                    startsWith: (searchString: string, position?: number) => boolean;
                    anchor: (name: string) => string;
                    big: () => string;
                    blink: () => string;
                    bold: () => string;
                    fixed: () => string;
                    fontcolor: (color: string) => string;
                    fontsize: {
                        (size: number): string;
                        (size: string): string;
                    };
                    italics: () => string;
                    link: (url: string) => string;
                    small: () => string;
                    strike: () => string;
                    sub: () => string;
                    sup: () => string;
                    padStart: (maxLength: number, fillString?: string) => string;
                    padEnd: (maxLength: number, fillString?: string) => string;
                    trimEnd: () => string;
                    trimStart: () => string;
                    trimLeft: () => string;
                    trimRight: () => string;
                    matchAll: (regexp: RegExp) => RegExpStringIterator<RegExpExecArray>;
                    replaceAll: {
                        (searchValue: string | RegExp, replaceValue: string): string;
                        (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string;
                    };
                    [Symbol.iterator]: () => StringIterator<string>;
                    at: (index: number) => string;
                };
                long: {
                    readonly [x: number]: string;
                    toString: () => string;
                    charAt: (pos: number) => string;
                    charCodeAt: (index: number) => number;
                    concat: (...strings: string[]) => string;
                    indexOf: (searchString: string, position?: number) => number;
                    lastIndexOf: (searchString: string, position?: number) => number;
                    localeCompare: {
                        (that: string): number;
                        (that: string, locales?: string | string[], options?: Intl.CollatorOptions): number;
                        (that: string, locales?: Intl.LocalesArgument, options?: Intl.CollatorOptions): number;
                    };
                    match: {
                        (regexp: string | RegExp): RegExpMatchArray | null;
                        (matcher: {
                            [Symbol.match](string: string): RegExpMatchArray | null;
                        }): RegExpMatchArray | null;
                    };
                    replace: {
                        (searchValue: string | RegExp, replaceValue: string): string;
                        (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string;
                        (searchValue: {
                            [Symbol.replace](string: string, replaceValue: string): string;
                        }, replaceValue: string): string;
                        (searchValue: {
                            [Symbol.replace](string: string, replacer: (substring: string, ...args: any[]) => string): string;
                        }, replacer: (substring: string, ...args: any[]) => string): string;
                    };
                    search: {
                        (regexp: string | RegExp): number;
                        (searcher: {
                            [Symbol.search](string: string): number;
                        }): number;
                    };
                    slice: (start?: number, end?: number) => string;
                    split: {
                        (separator: string | RegExp, limit?: number): string[];
                        (splitter: {
                            [Symbol.split](string: string, limit?: number): string[];
                        }, limit?: number): string[];
                    };
                    substring: (start: number, end?: number) => string;
                    toLowerCase: () => string;
                    toLocaleLowerCase: {
                        (locales?: string | string[]): string;
                        (locales?: Intl.LocalesArgument): string;
                    };
                    toUpperCase: () => string;
                    toLocaleUpperCase: {
                        (locales?: string | string[]): string;
                        (locales?: Intl.LocalesArgument): string;
                    };
                    trim: () => string;
                    readonly length: number;
                    substr: (from: number, length?: number) => string;
                    valueOf: () => string;
                    codePointAt: (pos: number) => number | undefined;
                    includes: (searchString: string, position?: number) => boolean;
                    endsWith: (searchString: string, endPosition?: number) => boolean;
                    normalize: {
                        (form: "NFC" | "NFD" | "NFKC" | "NFKD"): string;
                        (form?: string): string;
                    };
                    repeat: (count: number) => string;
                    startsWith: (searchString: string, position?: number) => boolean;
                    anchor: (name: string) => string;
                    big: () => string;
                    blink: () => string;
                    bold: () => string;
                    fixed: () => string;
                    fontcolor: (color: string) => string;
                    fontsize: {
                        (size: number): string;
                        (size: string): string;
                    };
                    italics: () => string;
                    link: (url: string) => string;
                    small: () => string;
                    strike: () => string;
                    sub: () => string;
                    sup: () => string;
                    padStart: (maxLength: number, fillString?: string) => string;
                    padEnd: (maxLength: number, fillString?: string) => string;
                    trimEnd: () => string;
                    trimStart: () => string;
                    trimLeft: () => string;
                    trimRight: () => string;
                    matchAll: (regexp: RegExp) => RegExpStringIterator<RegExpExecArray>;
                    replaceAll: {
                        (searchValue: string | RegExp, replaceValue: string): string;
                        (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string;
                    };
                    [Symbol.iterator]: () => StringIterator<string>;
                    at: (index: number) => string;
                };
            }[];
            return_stops: {
                name: string;
                lat: {
                    readonly [x: number]: string;
                    toString: () => string;
                    charAt: (pos: number) => string;
                    charCodeAt: (index: number) => number;
                    concat: (...strings: string[]) => string;
                    indexOf: (searchString: string, position?: number) => number;
                    lastIndexOf: (searchString: string, position?: number) => number;
                    localeCompare: {
                        (that: string): number;
                        (that: string, locales?: string | string[], options?: Intl.CollatorOptions): number;
                        (that: string, locales?: Intl.LocalesArgument, options?: Intl.CollatorOptions): number;
                    };
                    match: {
                        (regexp: string | RegExp): RegExpMatchArray | null;
                        (matcher: {
                            [Symbol.match](string: string): RegExpMatchArray | null;
                        }): RegExpMatchArray | null;
                    };
                    replace: {
                        (searchValue: string | RegExp, replaceValue: string): string;
                        (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string;
                        (searchValue: {
                            [Symbol.replace](string: string, replaceValue: string): string;
                        }, replaceValue: string): string;
                        (searchValue: {
                            [Symbol.replace](string: string, replacer: (substring: string, ...args: any[]) => string): string;
                        }, replacer: (substring: string, ...args: any[]) => string): string;
                    };
                    search: {
                        (regexp: string | RegExp): number;
                        (searcher: {
                            [Symbol.search](string: string): number;
                        }): number;
                    };
                    slice: (start?: number, end?: number) => string;
                    split: {
                        (separator: string | RegExp, limit?: number): string[];
                        (splitter: {
                            [Symbol.split](string: string, limit?: number): string[];
                        }, limit?: number): string[];
                    };
                    substring: (start: number, end?: number) => string;
                    toLowerCase: () => string;
                    toLocaleLowerCase: {
                        (locales?: string | string[]): string;
                        (locales?: Intl.LocalesArgument): string;
                    };
                    toUpperCase: () => string;
                    toLocaleUpperCase: {
                        (locales?: string | string[]): string;
                        (locales?: Intl.LocalesArgument): string;
                    };
                    trim: () => string;
                    readonly length: number;
                    substr: (from: number, length?: number) => string;
                    valueOf: () => string;
                    codePointAt: (pos: number) => number | undefined;
                    includes: (searchString: string, position?: number) => boolean;
                    endsWith: (searchString: string, endPosition?: number) => boolean;
                    normalize: {
                        (form: "NFC" | "NFD" | "NFKC" | "NFKD"): string;
                        (form?: string): string;
                    };
                    repeat: (count: number) => string;
                    startsWith: (searchString: string, position?: number) => boolean;
                    anchor: (name: string) => string;
                    big: () => string;
                    blink: () => string;
                    bold: () => string;
                    fixed: () => string;
                    fontcolor: (color: string) => string;
                    fontsize: {
                        (size: number): string;
                        (size: string): string;
                    };
                    italics: () => string;
                    link: (url: string) => string;
                    small: () => string;
                    strike: () => string;
                    sub: () => string;
                    sup: () => string;
                    padStart: (maxLength: number, fillString?: string) => string;
                    padEnd: (maxLength: number, fillString?: string) => string;
                    trimEnd: () => string;
                    trimStart: () => string;
                    trimLeft: () => string;
                    trimRight: () => string;
                    matchAll: (regexp: RegExp) => RegExpStringIterator<RegExpExecArray>;
                    replaceAll: {
                        (searchValue: string | RegExp, replaceValue: string): string;
                        (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string;
                    };
                    [Symbol.iterator]: () => StringIterator<string>;
                    at: (index: number) => string;
                };
                long: {
                    readonly [x: number]: string;
                    toString: () => string;
                    charAt: (pos: number) => string;
                    charCodeAt: (index: number) => number;
                    concat: (...strings: string[]) => string;
                    indexOf: (searchString: string, position?: number) => number;
                    lastIndexOf: (searchString: string, position?: number) => number;
                    localeCompare: {
                        (that: string): number;
                        (that: string, locales?: string | string[], options?: Intl.CollatorOptions): number;
                        (that: string, locales?: Intl.LocalesArgument, options?: Intl.CollatorOptions): number;
                    };
                    match: {
                        (regexp: string | RegExp): RegExpMatchArray | null;
                        (matcher: {
                            [Symbol.match](string: string): RegExpMatchArray | null;
                        }): RegExpMatchArray | null;
                    };
                    replace: {
                        (searchValue: string | RegExp, replaceValue: string): string;
                        (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string;
                        (searchValue: {
                            [Symbol.replace](string: string, replaceValue: string): string;
                        }, replaceValue: string): string;
                        (searchValue: {
                            [Symbol.replace](string: string, replacer: (substring: string, ...args: any[]) => string): string;
                        }, replacer: (substring: string, ...args: any[]) => string): string;
                    };
                    search: {
                        (regexp: string | RegExp): number;
                        (searcher: {
                            [Symbol.search](string: string): number;
                        }): number;
                    };
                    slice: (start?: number, end?: number) => string;
                    split: {
                        (separator: string | RegExp, limit?: number): string[];
                        (splitter: {
                            [Symbol.split](string: string, limit?: number): string[];
                        }, limit?: number): string[];
                    };
                    substring: (start: number, end?: number) => string;
                    toLowerCase: () => string;
                    toLocaleLowerCase: {
                        (locales?: string | string[]): string;
                        (locales?: Intl.LocalesArgument): string;
                    };
                    toUpperCase: () => string;
                    toLocaleUpperCase: {
                        (locales?: string | string[]): string;
                        (locales?: Intl.LocalesArgument): string;
                    };
                    trim: () => string;
                    readonly length: number;
                    substr: (from: number, length?: number) => string;
                    valueOf: () => string;
                    codePointAt: (pos: number) => number | undefined;
                    includes: (searchString: string, position?: number) => boolean;
                    endsWith: (searchString: string, endPosition?: number) => boolean;
                    normalize: {
                        (form: "NFC" | "NFD" | "NFKC" | "NFKD"): string;
                        (form?: string): string;
                    };
                    repeat: (count: number) => string;
                    startsWith: (searchString: string, position?: number) => boolean;
                    anchor: (name: string) => string;
                    big: () => string;
                    blink: () => string;
                    bold: () => string;
                    fixed: () => string;
                    fontcolor: (color: string) => string;
                    fontsize: {
                        (size: number): string;
                        (size: string): string;
                    };
                    italics: () => string;
                    link: (url: string) => string;
                    small: () => string;
                    strike: () => string;
                    sub: () => string;
                    sup: () => string;
                    padStart: (maxLength: number, fillString?: string) => string;
                    padEnd: (maxLength: number, fillString?: string) => string;
                    trimEnd: () => string;
                    trimStart: () => string;
                    trimLeft: () => string;
                    trimRight: () => string;
                    matchAll: (regexp: RegExp) => RegExpStringIterator<RegExpExecArray>;
                    replaceAll: {
                        (searchValue: string | RegExp, replaceValue: string): string;
                        (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string;
                    };
                    [Symbol.iterator]: () => StringIterator<string>;
                    at: (index: number) => string;
                };
            }[];
            app_commission: number;
            app_commission_value: number;
            insurance_multiplier: number;
            app_commission_unit: "percentage" | "fixed";
            arrived_at_stop_1: number;
            started_from_stop_1: number;
            arrived_at_return_stop_1: number;
            started_from_return_stop_1: number;
            arrived_at_return_stop_2: number;
            started_from_return_stop_2: number;
            total_rental_hours: number;
            total_hours: number;
            extra_hours: number;
            admin_amount: number;
            payout_amount: number;
            extra_hours_amount: number;
            extra_kms_amount: number;
            extra_kms: number;
            arrived_at_stop_2: number;
            started_from_stop_2: number;
            arrived_pickup_loc_at: number;
            schedule_date: number;
            drop_time: number;
            exceeded_drop_time: number;
            booking_status: string;
            booking_type: string;
            ride_status: string;
            cancelled_reason: string;
            is_ride_started: boolean;
            sent_dispatch_noti: boolean;
            booking_reminder_noti: boolean;
            cancelled_by: string;
            payment_gateway: string;
            payment_method: string;
            payment_method_id: string;
            payment_status: string;
            distance_in_km: number;
            single_way_distance: number;
            return_trip_distance: number;
            base_fee: number;
            base_fee_with_discount: number;
            stop_charges: number;
            surcharge_amount: number;
            agent_commission: number;
            agent_commission_percentage: string;
            surcharge_multiplier: number;
            toll_price: number;
            tip_driver: number;
            gst: number;
            commission_gst_amount: number;
            payout_gst_amount: number;
            coupon_discount: number;
            total_amount: number;
            deduction_of_return_trip: number;
            cancellation_total: number;
            return_trip_charges: number;
            night_stay_charges: number;
            gender_prefrence: import("./schema/booking.schema").GenderPrefrence;
            ride_otp: number;
            is_return_trip_active: boolean;
            return_trip_otp: number;
            waiting_charge_per_min: number;
            is_waiting_charge_noti_send: boolean;
            is_unloading_charge_noti_send: boolean;
            is_stop1_charge_noti_send: boolean;
            is_stop2_charge_noti_send: boolean;
            is_return_stop1_charge_noti_send: boolean;
            is_return_stop2_charge_noti_send: boolean;
            is_intercity_waiting_noti_send: boolean;
            rate_by_customer: boolean;
            rate_by_driver: boolean;
            is_driver_assigned_automatically: boolean;
            extimated_delivery_time: string;
            start_ride_at: number;
            reached_destination: number;
            last_stop_charges_mins: number;
            last_unloading_charges_mins: number;
            return_trip: boolean;
            night_stay: boolean;
            last_stop2_charges_mins: number;
            last_return_stop1_charges_mins: number;
            last_return_stop2_charges_mins: number;
            last_intercity_waiting_mins: number;
            last_start_ride_charges_mins: number;
            complete_delivery_at: number;
            is_volunteer: boolean;
            filter: string[];
            created_at: number;
            updated_at: number;
            requested_by: string;
            guest_name: string;
            guest_country_code: string;
            guest_phone: string;
            guest_alternate_country_code: string;
            guest_alternate_phone: string;
            hourly_rate: number;
            hourly_km_rate: number;
            hourly_max_km: number;
            kms_limit: number;
            add_up_kms: number;
            insurance_fees: number;
            insurance_fees_multiplier: number;
            city_fees: number;
            city_fees_value: number;
            city_fees_unit: string;
            infrastructure_fees: number;
            commission_percentage: number;
            intercity_commision_percentage: number;
            basic_trip_amount: number;
            total_trip_price_to_be_paid_by_customer: number;
            booking_for: string;
            number_of_seats: number;
        }> & {
            _id: Types.ObjectId;
        } & {
            __v: number;
        })[];
        count: number;
    }>;
    update(id: string, updateBookingDto: UpdateBookingDto, req: any): Promise<{
        message: import("../common/helpers/message-keys.enum").MessageKey;
    }>;
    availableDriverforThisBooking(payload: DriverIdDto): Promise<{
        data: (import("mongoose").FlattenMaps<{
            referral_id: string;
            is_verfication_submitted: boolean;
            verification: import("../driver/schema/driver.schema").DriverVerificationStatus;
            doc_update_verification: import("../driver/schema/driver.schema").DriverVerificationStatus;
            visa_doc: string;
            name: string;
            email: string;
            driver_service_type: import("../driver/schema/driver.schema").ServiceType;
            deactivate_at: number;
            service_type: string;
            gender: import("../driver/schema/driver.schema").Gender;
            country_code: string;
            rzr_contact_id: string;
            beneId: string;
            commission: number;
            ulternate_vehicle_types: string[];
            service_prefrence: string[];
            vehicle_type_id: string;
            phone: string;
            license_number: string;
            image: string;
            latitude: string;
            longitude: string;
            temp_email: string;
            temp_phone: string;
            temp_country_code: string;
            fleet_id: string;
            temp_email_otp: number;
            temp_phone_otp: number;
            temp_email_otp_at: number;
            temp_phone_otp_at: number;
            is_bank_added: boolean;
            stripe_customer_id: string;
            is_active: boolean;
            is_block: boolean;
            is_approved: boolean;
            is_doc_update: boolean;
            approved_on: number;
            reject_on: number;
            referral_code: string;
            referral_amount: number;
            applied_referral_code: string;
            missing_documents: Types.ObjectId[];
            applied_referral_code_consumed: boolean;
            reject_reason: string;
            phase_start_at: number;
            total_online_time: number;
            total_on_pickup_time: number;
            total_on_ride_time: number;
            last_phase_start_at: number;
            is_email_verify: boolean;
            is_phone_verify: boolean;
            status: string;
            ride_status: string;
            device_type: string;
            preferred_language: string;
            preferred_currency: string;
            currency_symbol: string;
            pending_submit_cash: number;
            pending_submit_cash_upated_at: number;
            customer_id: string;
            current_booking: string;
            current_pool: string;
            upcoming_booking: string;
            ratings: number;
            socket_id: string;
            connection_id: string;
            currently_send_ride_request: boolean;
            way_points: {
                lat: number;
                lng: number;
            }[];
            currently_send_ride_request_id: string;
            currently_send_ride_request_generate_at: number;
            heading: string;
            set_up_profile: boolean;
            set_up_vehicle: boolean;
            set_up_documents: boolean;
            block_reason: string;
            doc_expiry_type: string[];
            volunteer_ride_count: number;
            level: string;
            documents: {
                type_id: string;
                front_image_id: string;
                back_image_id: string;
                expire_date: number;
                is_expired: boolean;
            }[];
            is_deleted: boolean;
            is_document_missing: boolean;
            timeZone: string;
            created_at: number;
            updated_at: number;
            payout_mode: PayoutType;
            selected_payout_mode: PayoutType;
            location: {
                type: string;
                coordinates: number[];
            };
        }> & {
            _id: Types.ObjectId;
        } & {
            __v: number;
        })[];
        count: number;
    }>;
    waitingForDriver(payload: DriverIdDto): Promise<{
        data: (import("mongoose").FlattenMaps<{
            customer_id: string;
            package_id: string;
            parent_booking_id: string;
            booking_group_id: string;
            vehicle_count: number;
            duration_fare_return_trip: number;
            duration_fare_single_trip: number;
            vehicle_sequence: number;
            company_id: string;
            company_client_id: string;
            dispatcher_id: string;
            type: string;
            assigned_by: string;
            driver_id: string;
            agent_customer_id: string;
            agent_id: string;
            pass_id: Types.ObjectId;
            invoice_id: string;
            booking_id: string;
            is_cancellation_requested: string;
            ride_type: string;
            pickup_option: string;
            rzr_order_id: string;
            stripe_intent_id: string;
            distance_to_pickup: number;
            distance_to_drop: number;
            payment_id: string;
            is_salaried_booking: boolean;
            need_load_unload: boolean;
            cashfree_order_id: string;
            total_payable_amount: number;
            deposit_amount: number;
            incentive_applied: number;
            incentive: number;
            vehicle_body_preference: string;
            number_of_days: number;
            per_day_charges: number;
            load_unload_charges: number;
            delivery_charges: number;
            days_exceed: number;
            cashfree_refund_id: string;
            refund_confirmed: boolean;
            is_ac_ride: boolean;
            is_share_ride: boolean;
            share_ride_session_id: string;
            payment_session_id: string;
            you_earn: number;
            return_requested_at: number;
            eta_return_trip: number;
            eta: number;
            per_minute_charges: number;
            base_minutes: number;
            you_earn_commission: number;
            you_earn_pass: number;
            free_load_unload_time: number;
            cancellation_charges_paid: number;
            routeUrl: string;
            is_request_type_broadcast: boolean;
            request_type: import("./schema/booking.schema").RequestType;
            sender_name: string;
            address_language: string;
            sender_country_code: string;
            sender_number: string;
            receiver_name: string;
            receiver_country_code: string;
            commission_type: string;
            fleet_id: Types.ObjectId;
            requested_fleet_id: Types.ObjectId;
            receiver_number: string;
            is_broadcast: boolean;
            is_bundle_booking: boolean;
            bundle_name: string;
            bundle_image: string;
            parcel_details: string;
            airport_pickup_charges: number;
            cancellation_charges: number;
            airport_drop_charges: number;
            flight_number: string;
            is_airport_pickup: boolean;
            is_airport_dropoff: boolean;
            arrived_at_intercity_destination: number;
            started_from_intercity_destination: number;
            coupon_id: string;
            vehicle_id: string;
            original_vehicle_id: string;
            vehicleDetail_id: string;
            payment_confirmed: boolean;
            parcel_img_at_pickup: string;
            parcel_img_at_drop: string;
            payment_received: boolean;
            pickup_address: string;
            drop_address: string;
            return_pickup_address: string;
            return_drop_address: string;
            pickup_lat: string;
            pickup_long: string;
            return_pickup_lat: string;
            return_pickup_long: string;
            total_distance_covered: number;
            drop_lat: string;
            drop_long: string;
            return_drop_lat: string;
            return_drop_long: string;
            paid_amount: number;
            pending_amount: number;
            stops: {
                name: string;
                lat: {
                    readonly [x: number]: string;
                    toString: () => string;
                    charAt: (pos: number) => string;
                    charCodeAt: (index: number) => number;
                    concat: (...strings: string[]) => string;
                    indexOf: (searchString: string, position?: number) => number;
                    lastIndexOf: (searchString: string, position?: number) => number;
                    localeCompare: {
                        (that: string): number;
                        (that: string, locales?: string | string[], options?: Intl.CollatorOptions): number;
                        (that: string, locales?: Intl.LocalesArgument, options?: Intl.CollatorOptions): number;
                    };
                    match: {
                        (regexp: string | RegExp): RegExpMatchArray | null;
                        (matcher: {
                            [Symbol.match](string: string): RegExpMatchArray | null;
                        }): RegExpMatchArray | null;
                    };
                    replace: {
                        (searchValue: string | RegExp, replaceValue: string): string;
                        (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string;
                        (searchValue: {
                            [Symbol.replace](string: string, replaceValue: string): string;
                        }, replaceValue: string): string;
                        (searchValue: {
                            [Symbol.replace](string: string, replacer: (substring: string, ...args: any[]) => string): string;
                        }, replacer: (substring: string, ...args: any[]) => string): string;
                    };
                    search: {
                        (regexp: string | RegExp): number;
                        (searcher: {
                            [Symbol.search](string: string): number;
                        }): number;
                    };
                    slice: (start?: number, end?: number) => string;
                    split: {
                        (separator: string | RegExp, limit?: number): string[];
                        (splitter: {
                            [Symbol.split](string: string, limit?: number): string[];
                        }, limit?: number): string[];
                    };
                    substring: (start: number, end?: number) => string;
                    toLowerCase: () => string;
                    toLocaleLowerCase: {
                        (locales?: string | string[]): string;
                        (locales?: Intl.LocalesArgument): string;
                    };
                    toUpperCase: () => string;
                    toLocaleUpperCase: {
                        (locales?: string | string[]): string;
                        (locales?: Intl.LocalesArgument): string;
                    };
                    trim: () => string;
                    readonly length: number;
                    substr: (from: number, length?: number) => string;
                    valueOf: () => string;
                    codePointAt: (pos: number) => number | undefined;
                    includes: (searchString: string, position?: number) => boolean;
                    endsWith: (searchString: string, endPosition?: number) => boolean;
                    normalize: {
                        (form: "NFC" | "NFD" | "NFKC" | "NFKD"): string;
                        (form?: string): string;
                    };
                    repeat: (count: number) => string;
                    startsWith: (searchString: string, position?: number) => boolean;
                    anchor: (name: string) => string;
                    big: () => string;
                    blink: () => string;
                    bold: () => string;
                    fixed: () => string;
                    fontcolor: (color: string) => string;
                    fontsize: {
                        (size: number): string;
                        (size: string): string;
                    };
                    italics: () => string;
                    link: (url: string) => string;
                    small: () => string;
                    strike: () => string;
                    sub: () => string;
                    sup: () => string;
                    padStart: (maxLength: number, fillString?: string) => string;
                    padEnd: (maxLength: number, fillString?: string) => string;
                    trimEnd: () => string;
                    trimStart: () => string;
                    trimLeft: () => string;
                    trimRight: () => string;
                    matchAll: (regexp: RegExp) => RegExpStringIterator<RegExpExecArray>;
                    replaceAll: {
                        (searchValue: string | RegExp, replaceValue: string): string;
                        (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string;
                    };
                    [Symbol.iterator]: () => StringIterator<string>;
                    at: (index: number) => string;
                };
                long: {
                    readonly [x: number]: string;
                    toString: () => string;
                    charAt: (pos: number) => string;
                    charCodeAt: (index: number) => number;
                    concat: (...strings: string[]) => string;
                    indexOf: (searchString: string, position?: number) => number;
                    lastIndexOf: (searchString: string, position?: number) => number;
                    localeCompare: {
                        (that: string): number;
                        (that: string, locales?: string | string[], options?: Intl.CollatorOptions): number;
                        (that: string, locales?: Intl.LocalesArgument, options?: Intl.CollatorOptions): number;
                    };
                    match: {
                        (regexp: string | RegExp): RegExpMatchArray | null;
                        (matcher: {
                            [Symbol.match](string: string): RegExpMatchArray | null;
                        }): RegExpMatchArray | null;
                    };
                    replace: {
                        (searchValue: string | RegExp, replaceValue: string): string;
                        (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string;
                        (searchValue: {
                            [Symbol.replace](string: string, replaceValue: string): string;
                        }, replaceValue: string): string;
                        (searchValue: {
                            [Symbol.replace](string: string, replacer: (substring: string, ...args: any[]) => string): string;
                        }, replacer: (substring: string, ...args: any[]) => string): string;
                    };
                    search: {
                        (regexp: string | RegExp): number;
                        (searcher: {
                            [Symbol.search](string: string): number;
                        }): number;
                    };
                    slice: (start?: number, end?: number) => string;
                    split: {
                        (separator: string | RegExp, limit?: number): string[];
                        (splitter: {
                            [Symbol.split](string: string, limit?: number): string[];
                        }, limit?: number): string[];
                    };
                    substring: (start: number, end?: number) => string;
                    toLowerCase: () => string;
                    toLocaleLowerCase: {
                        (locales?: string | string[]): string;
                        (locales?: Intl.LocalesArgument): string;
                    };
                    toUpperCase: () => string;
                    toLocaleUpperCase: {
                        (locales?: string | string[]): string;
                        (locales?: Intl.LocalesArgument): string;
                    };
                    trim: () => string;
                    readonly length: number;
                    substr: (from: number, length?: number) => string;
                    valueOf: () => string;
                    codePointAt: (pos: number) => number | undefined;
                    includes: (searchString: string, position?: number) => boolean;
                    endsWith: (searchString: string, endPosition?: number) => boolean;
                    normalize: {
                        (form: "NFC" | "NFD" | "NFKC" | "NFKD"): string;
                        (form?: string): string;
                    };
                    repeat: (count: number) => string;
                    startsWith: (searchString: string, position?: number) => boolean;
                    anchor: (name: string) => string;
                    big: () => string;
                    blink: () => string;
                    bold: () => string;
                    fixed: () => string;
                    fontcolor: (color: string) => string;
                    fontsize: {
                        (size: number): string;
                        (size: string): string;
                    };
                    italics: () => string;
                    link: (url: string) => string;
                    small: () => string;
                    strike: () => string;
                    sub: () => string;
                    sup: () => string;
                    padStart: (maxLength: number, fillString?: string) => string;
                    padEnd: (maxLength: number, fillString?: string) => string;
                    trimEnd: () => string;
                    trimStart: () => string;
                    trimLeft: () => string;
                    trimRight: () => string;
                    matchAll: (regexp: RegExp) => RegExpStringIterator<RegExpExecArray>;
                    replaceAll: {
                        (searchValue: string | RegExp, replaceValue: string): string;
                        (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string;
                    };
                    [Symbol.iterator]: () => StringIterator<string>;
                    at: (index: number) => string;
                };
            }[];
            return_stops: {
                name: string;
                lat: {
                    readonly [x: number]: string;
                    toString: () => string;
                    charAt: (pos: number) => string;
                    charCodeAt: (index: number) => number;
                    concat: (...strings: string[]) => string;
                    indexOf: (searchString: string, position?: number) => number;
                    lastIndexOf: (searchString: string, position?: number) => number;
                    localeCompare: {
                        (that: string): number;
                        (that: string, locales?: string | string[], options?: Intl.CollatorOptions): number;
                        (that: string, locales?: Intl.LocalesArgument, options?: Intl.CollatorOptions): number;
                    };
                    match: {
                        (regexp: string | RegExp): RegExpMatchArray | null;
                        (matcher: {
                            [Symbol.match](string: string): RegExpMatchArray | null;
                        }): RegExpMatchArray | null;
                    };
                    replace: {
                        (searchValue: string | RegExp, replaceValue: string): string;
                        (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string;
                        (searchValue: {
                            [Symbol.replace](string: string, replaceValue: string): string;
                        }, replaceValue: string): string;
                        (searchValue: {
                            [Symbol.replace](string: string, replacer: (substring: string, ...args: any[]) => string): string;
                        }, replacer: (substring: string, ...args: any[]) => string): string;
                    };
                    search: {
                        (regexp: string | RegExp): number;
                        (searcher: {
                            [Symbol.search](string: string): number;
                        }): number;
                    };
                    slice: (start?: number, end?: number) => string;
                    split: {
                        (separator: string | RegExp, limit?: number): string[];
                        (splitter: {
                            [Symbol.split](string: string, limit?: number): string[];
                        }, limit?: number): string[];
                    };
                    substring: (start: number, end?: number) => string;
                    toLowerCase: () => string;
                    toLocaleLowerCase: {
                        (locales?: string | string[]): string;
                        (locales?: Intl.LocalesArgument): string;
                    };
                    toUpperCase: () => string;
                    toLocaleUpperCase: {
                        (locales?: string | string[]): string;
                        (locales?: Intl.LocalesArgument): string;
                    };
                    trim: () => string;
                    readonly length: number;
                    substr: (from: number, length?: number) => string;
                    valueOf: () => string;
                    codePointAt: (pos: number) => number | undefined;
                    includes: (searchString: string, position?: number) => boolean;
                    endsWith: (searchString: string, endPosition?: number) => boolean;
                    normalize: {
                        (form: "NFC" | "NFD" | "NFKC" | "NFKD"): string;
                        (form?: string): string;
                    };
                    repeat: (count: number) => string;
                    startsWith: (searchString: string, position?: number) => boolean;
                    anchor: (name: string) => string;
                    big: () => string;
                    blink: () => string;
                    bold: () => string;
                    fixed: () => string;
                    fontcolor: (color: string) => string;
                    fontsize: {
                        (size: number): string;
                        (size: string): string;
                    };
                    italics: () => string;
                    link: (url: string) => string;
                    small: () => string;
                    strike: () => string;
                    sub: () => string;
                    sup: () => string;
                    padStart: (maxLength: number, fillString?: string) => string;
                    padEnd: (maxLength: number, fillString?: string) => string;
                    trimEnd: () => string;
                    trimStart: () => string;
                    trimLeft: () => string;
                    trimRight: () => string;
                    matchAll: (regexp: RegExp) => RegExpStringIterator<RegExpExecArray>;
                    replaceAll: {
                        (searchValue: string | RegExp, replaceValue: string): string;
                        (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string;
                    };
                    [Symbol.iterator]: () => StringIterator<string>;
                    at: (index: number) => string;
                };
                long: {
                    readonly [x: number]: string;
                    toString: () => string;
                    charAt: (pos: number) => string;
                    charCodeAt: (index: number) => number;
                    concat: (...strings: string[]) => string;
                    indexOf: (searchString: string, position?: number) => number;
                    lastIndexOf: (searchString: string, position?: number) => number;
                    localeCompare: {
                        (that: string): number;
                        (that: string, locales?: string | string[], options?: Intl.CollatorOptions): number;
                        (that: string, locales?: Intl.LocalesArgument, options?: Intl.CollatorOptions): number;
                    };
                    match: {
                        (regexp: string | RegExp): RegExpMatchArray | null;
                        (matcher: {
                            [Symbol.match](string: string): RegExpMatchArray | null;
                        }): RegExpMatchArray | null;
                    };
                    replace: {
                        (searchValue: string | RegExp, replaceValue: string): string;
                        (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string;
                        (searchValue: {
                            [Symbol.replace](string: string, replaceValue: string): string;
                        }, replaceValue: string): string;
                        (searchValue: {
                            [Symbol.replace](string: string, replacer: (substring: string, ...args: any[]) => string): string;
                        }, replacer: (substring: string, ...args: any[]) => string): string;
                    };
                    search: {
                        (regexp: string | RegExp): number;
                        (searcher: {
                            [Symbol.search](string: string): number;
                        }): number;
                    };
                    slice: (start?: number, end?: number) => string;
                    split: {
                        (separator: string | RegExp, limit?: number): string[];
                        (splitter: {
                            [Symbol.split](string: string, limit?: number): string[];
                        }, limit?: number): string[];
                    };
                    substring: (start: number, end?: number) => string;
                    toLowerCase: () => string;
                    toLocaleLowerCase: {
                        (locales?: string | string[]): string;
                        (locales?: Intl.LocalesArgument): string;
                    };
                    toUpperCase: () => string;
                    toLocaleUpperCase: {
                        (locales?: string | string[]): string;
                        (locales?: Intl.LocalesArgument): string;
                    };
                    trim: () => string;
                    readonly length: number;
                    substr: (from: number, length?: number) => string;
                    valueOf: () => string;
                    codePointAt: (pos: number) => number | undefined;
                    includes: (searchString: string, position?: number) => boolean;
                    endsWith: (searchString: string, endPosition?: number) => boolean;
                    normalize: {
                        (form: "NFC" | "NFD" | "NFKC" | "NFKD"): string;
                        (form?: string): string;
                    };
                    repeat: (count: number) => string;
                    startsWith: (searchString: string, position?: number) => boolean;
                    anchor: (name: string) => string;
                    big: () => string;
                    blink: () => string;
                    bold: () => string;
                    fixed: () => string;
                    fontcolor: (color: string) => string;
                    fontsize: {
                        (size: number): string;
                        (size: string): string;
                    };
                    italics: () => string;
                    link: (url: string) => string;
                    small: () => string;
                    strike: () => string;
                    sub: () => string;
                    sup: () => string;
                    padStart: (maxLength: number, fillString?: string) => string;
                    padEnd: (maxLength: number, fillString?: string) => string;
                    trimEnd: () => string;
                    trimStart: () => string;
                    trimLeft: () => string;
                    trimRight: () => string;
                    matchAll: (regexp: RegExp) => RegExpStringIterator<RegExpExecArray>;
                    replaceAll: {
                        (searchValue: string | RegExp, replaceValue: string): string;
                        (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string;
                    };
                    [Symbol.iterator]: () => StringIterator<string>;
                    at: (index: number) => string;
                };
            }[];
            app_commission: number;
            app_commission_value: number;
            insurance_multiplier: number;
            app_commission_unit: "percentage" | "fixed";
            arrived_at_stop_1: number;
            started_from_stop_1: number;
            arrived_at_return_stop_1: number;
            started_from_return_stop_1: number;
            arrived_at_return_stop_2: number;
            started_from_return_stop_2: number;
            total_rental_hours: number;
            total_hours: number;
            extra_hours: number;
            admin_amount: number;
            payout_amount: number;
            extra_hours_amount: number;
            extra_kms_amount: number;
            extra_kms: number;
            arrived_at_stop_2: number;
            started_from_stop_2: number;
            arrived_pickup_loc_at: number;
            schedule_date: number;
            drop_time: number;
            exceeded_drop_time: number;
            booking_status: string;
            booking_type: string;
            ride_status: string;
            cancelled_reason: string;
            is_ride_started: boolean;
            sent_dispatch_noti: boolean;
            booking_reminder_noti: boolean;
            cancelled_by: string;
            payment_gateway: string;
            payment_method: string;
            payment_method_id: string;
            payment_status: string;
            distance_in_km: number;
            single_way_distance: number;
            return_trip_distance: number;
            base_fee: number;
            base_fee_with_discount: number;
            stop_charges: number;
            surcharge_amount: number;
            agent_commission: number;
            agent_commission_percentage: string;
            surcharge_multiplier: number;
            toll_price: number;
            tip_driver: number;
            gst: number;
            commission_gst_amount: number;
            payout_gst_amount: number;
            coupon_discount: number;
            total_amount: number;
            deduction_of_return_trip: number;
            cancellation_total: number;
            return_trip_charges: number;
            night_stay_charges: number;
            gender_prefrence: import("./schema/booking.schema").GenderPrefrence;
            ride_otp: number;
            is_return_trip_active: boolean;
            return_trip_otp: number;
            waiting_charge_per_min: number;
            is_waiting_charge_noti_send: boolean;
            is_unloading_charge_noti_send: boolean;
            is_stop1_charge_noti_send: boolean;
            is_stop2_charge_noti_send: boolean;
            is_return_stop1_charge_noti_send: boolean;
            is_return_stop2_charge_noti_send: boolean;
            is_intercity_waiting_noti_send: boolean;
            rate_by_customer: boolean;
            rate_by_driver: boolean;
            is_driver_assigned_automatically: boolean;
            extimated_delivery_time: string;
            start_ride_at: number;
            reached_destination: number;
            last_stop_charges_mins: number;
            last_unloading_charges_mins: number;
            return_trip: boolean;
            night_stay: boolean;
            last_stop2_charges_mins: number;
            last_return_stop1_charges_mins: number;
            last_return_stop2_charges_mins: number;
            last_intercity_waiting_mins: number;
            last_start_ride_charges_mins: number;
            complete_delivery_at: number;
            is_volunteer: boolean;
            filter: string[];
            created_at: number;
            updated_at: number;
            requested_by: string;
            guest_name: string;
            guest_country_code: string;
            guest_phone: string;
            guest_alternate_country_code: string;
            guest_alternate_phone: string;
            hourly_rate: number;
            hourly_km_rate: number;
            hourly_max_km: number;
            kms_limit: number;
            add_up_kms: number;
            insurance_fees: number;
            insurance_fees_multiplier: number;
            city_fees: number;
            city_fees_value: number;
            city_fees_unit: string;
            infrastructure_fees: number;
            commission_percentage: number;
            intercity_commision_percentage: number;
            basic_trip_amount: number;
            total_trip_price_to_be_paid_by_customer: number;
            booking_for: string;
            number_of_seats: number;
        }> & {
            _id: Types.ObjectId;
        } & {
            __v: number;
        })[];
        count: number;
    }>;
    getCurrentActiveBooking(req: any): Promise<{
        current_booking_id: any;
        data: any;
        isSharedRide: boolean;
        poolDetails: any;
        current_step: any;
    } | {
        current_booking_id: any;
        data: any;
        type: any;
        allBookings: any[];
        isSharedRide?: undefined;
        poolDetails?: undefined;
        current_step?: undefined;
    } | {
        current_booking_id: any;
        data: any;
        isSharedRide: boolean;
        poolDetails: any;
        allBookings: any[];
        current_step: any;
        type?: undefined;
    }>;
    view_booking(id: string, req: any): Promise<{
        data: any;
        type: any;
        allBookings: any[];
        current_booking_id: any;
        isSharedRide?: undefined;
        poolDetails?: undefined;
        current_step?: undefined;
    } | {
        data: any;
        isSharedRide: boolean;
        poolDetails: any;
        allBookings: any[];
        current_step: any;
        current_booking_id: any;
        type?: undefined;
    }>;
    Available_rides(body: CalculateVehiclePriceDto, req: any): Promise<{
        data: any[];
        package_id: string;
        package_details: any;
    } | {
        data: any[];
        package_id?: undefined;
        package_details?: undefined;
    }>;
    Available_rides_guest(body: CalculateVehiclePriceDto): Promise<{
        data: any[];
        package_id: string;
        package_details: any;
    } | {
        data: any[];
        package_id?: undefined;
        package_details?: undefined;
    }>;
    Available_coupons(body: AvailableCouponDto, req: any): Promise<any[]>;
    promo_code(promo_code: string, total_amount: number, req: any): Promise<{
        data: any;
    }>;
    Accept_booking(id: string, req: any): Promise<{
        data: import("mongoose").Document<unknown, {}, import("./schema/booking.schema").Booking, {}, {}> & import("./schema/booking.schema").Booking & {
            _id: Types.ObjectId;
        } & {
            __v: number;
        };
    }>;
    decline_booking(id: string, req: any): Promise<{
        message: import("../common/helpers/message-keys.enum").MessageKey;
    }>;
    RideStatus(body: RideStatus): Promise<{
        message: import("../common/helpers/message-keys.enum").MessageKey;
    }>;
    RideCompleted(id: string, tollAmount: number, req: any, parcel_img: string): Promise<{
        message: import("../common/helpers/message-keys.enum").MessageKey;
    }>;
    AddTip(id: string, body: AddtipDto, req: any): Promise<{
        message: import("../common/helpers/message-keys.enum").MessageKey;
    }>;
    booking_cancelled(id: string, body: CancelBookingDto, req: any): Promise<{
        message: import("../common/helpers/message-keys.enum").MessageKey;
    }>;
    cancel_booking(id: string, req: any, reason?: string): Promise<{
        message: string;
    }>;
    handlePaymentRecievedForReturnCancellation(id: string): Promise<{
        message: import("../common/helpers/message-keys.enum").MessageKey;
    }>;
    broadcastRequest(id: string, req: any): Promise<{
        message: import("../common/helpers/message-keys.enum").MessageKey;
    }>;
    cancel_request(id: string, req: any): Promise<{
        message: import("../common/helpers/message-keys.enum").MessageKey;
    }>;
    recived_payment(id: string, req: any): Promise<{
        message: import("../common/helpers/message-keys.enum").MessageKey;
    }>;
    booking_listing(body: BookingStatusDto, req: any): Promise<{
        count: number;
        data: any[];
    }>;
    listOfDriverForAssinByDispatcher(dto: DriverListOnDispatcherForAssignDto, req: any): Promise<{
        data: any;
        count: any;
    }>;
    getOrderDetails(id: string): Promise<any>;
    AdminBookingListing(body: findBookingDto): Promise<{
        active_count: any;
        completed_count: any;
        cancelled_count: any;
        failed_count: any;
        schedule_count: any;
        count: any;
        data: any;
    }>;
    AdminBookingListingExport(body: findBookingDto): Promise<{
        data: any[];
    }>;
    AdminPoolListing(query: any): Promise<{
        data: any[];
        total_count: number;
        active_count: number;
        completed_count: number;
        cancelled_count: number;
        page: number;
        limit: number;
    }>;
    AdminPoolListingExport(query: any): Promise<{
        data: any[];
    }>;
    BookingLogs(id: string): Promise<any>;
    AdminBookingDetail(id: string): Promise<{
        data: any;
    }>;
    update_booking(body: UpdateTipPaymentTypeDto, req: any): Promise<{
        message: import("../common/helpers/message-keys.enum").MessageKey;
    }>;
    CheckScheduleRide(req: any, query: any): Promise<{
        can_request: boolean;
        message?: undefined;
    } | {
        can_request: boolean;
        message: string;
    }>;
    CheckCoupon(coupon_id: string): Promise<{
        data: any;
    }>;
    dispatchBookingDrivers(): Promise<any[]>;
    assignADriver(id: string, payload: AssignDriverDto, req: any): Promise<{
        message: import("../common/helpers/message-keys.enum").MessageKey;
        booking_id?: undefined;
    } | {
        message: import("../common/helpers/message-keys.enum").MessageKey;
        booking_id: string;
    }>;
    assignAFleet(id: string, payload: AssignFleetDto, req: any): Promise<{
        message: import("../common/helpers/message-keys.enum").MessageKey;
        booking_data: import("mongoose").Document<unknown, {}, import("./schema/booking.schema").Booking, {}, {}> & import("./schema/booking.schema").Booking & {
            _id: Types.ObjectId;
        } & {
            __v: number;
        };
    }>;
    estimateEarning(vehicleId: string, kms: number, payout_type?: PayoutType, speed?: number): Promise<{
        you_earn: number;
    }>;
    calculatePricingOnAdmin(dto: CalculatePricingOnAdminDto): Promise<any>;
    joinShareRide(dto: JoinShareRideDto, req: any): Promise<{
        message: string;
        session_id: string;
        pending: boolean;
    }>;
    driverRespondToJoin(dto: DriverRespondToJoinDto, req: any): Promise<{
        message: string;
    }>;
    stepDone(dto: StepDoneDto, req: any): Promise<{
        message: string;
        session: import("mongoose").Document<unknown, {}, import("./schema/share-ride-session.schema").ShareRideSession, {}, {}> & import("./schema/share-ride-session.schema").ShareRideSession & {
            _id: Types.ObjectId;
        } & {
            __v: number;
        };
    }>;
}
