import { BookingService } from './booking.service';
import { AddtipDto, AvailableCouponDto, UpdateTipPaymentTypeDto, BookingStatusDto, CalculateVehiclePriceDto, CancelBookingDto, CreateBookingDto, RideStatus, ScheduleBookingDto, UpdateBookingDto, findBookingDto, CreateBookingByDispatcherDto, 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';
export declare class BookingController {
    private readonly bookingService;
    private readonly createBookingService;
    private readonly availableRideService;
    constructor(bookingService: BookingService, createBookingService: CreateBookingService, availableRideService: AvailableRideService);
    prcings(body: any): Promise<any>;
    create(createBookingDto: CreateBookingDto, req: any): Promise<{
        message: string;
        data: any;
    }>;
    createBooking(createBookingDto: CreateBookingDto, req: any): Promise<import("mongoose").Document<unknown, {}, import("./schema/booking.schema").Booking, {}, {}> & import("./schema/booking.schema").Booking & {
        _id: import("mongoose").Types.ObjectId;
    } & {
        __v: number;
    }>;
    getReceipt(query: getReceiptDto): Promise<{
        message: string;
    }>;
    dispatcherBookingList(payload: DispatcherGetBookingsDto, req: any): Promise<{
        data: (import("mongoose").FlattenMaps<{
            customer_id: string;
            company_id: string;
            company_client_id: string;
            dispatcher_id: string;
            assigned_by: string;
            driver_id: string;
            agent_customer_id: string;
            agent_id: string;
            pass_id: import("mongoose").Types.ObjectId;
            booking_id: string;
            rzr_order_id: string;
            stripe_intent_id: string;
            payment_id: string;
            is_salaried_booking: boolean;
            cashfree_order_id: string;
            cashfree_refund_id: string;
            refund_confirmed: boolean;
            payment_session_id: string;
            you_earn: number;
            routeUrl: string;
            is_request_type_broadcast: boolean;
            request_type: import("./schema/booking.schema").RequestType;
            sender_name: string;
            sender_country_code: string;
            sender_number: string;
            receiver_name: string;
            receiver_country_code: string;
            commission_type: string;
            fleet_id: import("mongoose").Types.ObjectId;
            requested_fleet_id: import("mongoose").Types.ObjectId;
            receiver_number: string;
            is_broadcast: boolean;
            parcel_details: string;
            airport_pickup_charges: number;
            cancellation_charges: number;
            airport_drop_charges: number;
            arrived_at_intercity_destination: number;
            started_from_intercity_destination: number;
            coupon_id: string;
            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;
            pickup_lat: string;
            pickup_long: string;
            total_distance_covered: number;
            drop_lat: string;
            drop_long: string;
            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;
            app_commission_unit: string;
            arrived_at_stop_1: number;
            started_from_stop_1: 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;
            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;
            base_fee: number;
            base_fee_with_discount: number;
            stop_charges: number;
            surcharge_amount: number;
            agent_commission: number;
            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;
            return_trip_charges: number;
            night_stay_charges: number;
            gender_prefrence: import("./schema/booking.schema").GenderPrefrence;
            ride_otp: number;
            waiting_charge_per_min: number;
            is_waiting_charge_noti_send: boolean;
            is_stop1_charge_noti_send: boolean;
            is_stop2_charge_noti_send: boolean;
            rate_by_customer: boolean;
            rate_by_driver: boolean;
            extimated_delivery_time: string;
            start_ride_at: number;
            last_stop_charges_mins: number;
            return_trip: boolean;
            night_stay: boolean;
            last_stop2_charges_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;
            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_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;
            fare_breakdown: any;
            booking_for: string;
        }> & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        })[];
        count: number;
    }>;
    generateInvoice(res: Response, id: string, timezone: string): Promise<Response<any, Record<string, any>>>;
    scheduledBookingList(payload: DispatcherGetBookingsDto, req: any): Promise<{
        data: (import("mongoose").FlattenMaps<{
            customer_id: string;
            company_id: string;
            company_client_id: string;
            dispatcher_id: string;
            assigned_by: string;
            driver_id: string;
            agent_customer_id: string;
            agent_id: string;
            pass_id: import("mongoose").Types.ObjectId;
            booking_id: string;
            rzr_order_id: string;
            stripe_intent_id: string;
            payment_id: string;
            is_salaried_booking: boolean;
            cashfree_order_id: string;
            cashfree_refund_id: string;
            refund_confirmed: boolean;
            payment_session_id: string;
            you_earn: number;
            routeUrl: string;
            is_request_type_broadcast: boolean;
            request_type: import("./schema/booking.schema").RequestType;
            sender_name: string;
            sender_country_code: string;
            sender_number: string;
            receiver_name: string;
            receiver_country_code: string;
            commission_type: string;
            fleet_id: import("mongoose").Types.ObjectId;
            requested_fleet_id: import("mongoose").Types.ObjectId;
            receiver_number: string;
            is_broadcast: boolean;
            parcel_details: string;
            airport_pickup_charges: number;
            cancellation_charges: number;
            airport_drop_charges: number;
            arrived_at_intercity_destination: number;
            started_from_intercity_destination: number;
            coupon_id: string;
            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;
            pickup_lat: string;
            pickup_long: string;
            total_distance_covered: number;
            drop_lat: string;
            drop_long: string;
            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;
            app_commission_unit: string;
            arrived_at_stop_1: number;
            started_from_stop_1: 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;
            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;
            base_fee: number;
            base_fee_with_discount: number;
            stop_charges: number;
            surcharge_amount: number;
            agent_commission: number;
            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;
            return_trip_charges: number;
            night_stay_charges: number;
            gender_prefrence: import("./schema/booking.schema").GenderPrefrence;
            ride_otp: number;
            waiting_charge_per_min: number;
            is_waiting_charge_noti_send: boolean;
            is_stop1_charge_noti_send: boolean;
            is_stop2_charge_noti_send: boolean;
            rate_by_customer: boolean;
            rate_by_driver: boolean;
            extimated_delivery_time: string;
            start_ride_at: number;
            last_stop_charges_mins: number;
            return_trip: boolean;
            night_stay: boolean;
            last_stop2_charges_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;
            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_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;
            fare_breakdown: any;
            booking_for: string;
        }> & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        })[];
        count: number;
    }>;
    createBookingByDispatcher(createBookingDto: CreateBookingByDispatcherDto, req: any): Promise<import("mongoose").Document<unknown, {}, import("./schema/booking.schema").Booking, {}, {}> & import("./schema/booking.schema").Booking & {
        _id: import("mongoose").Types.ObjectId;
    } & {
        __v: number;
    }>;
    schedule_booking(body: ScheduleBookingDto, req: any): Promise<import("mongoose").Document<unknown, {}, import("./schema/booking.schema").Booking, {}, {}> & import("./schema/booking.schema").Booking & {
        _id: import("mongoose").Types.ObjectId;
    } & {
        __v: number;
    }>;
    update(id: string, updateBookingDto: UpdateBookingDto, req: any): Promise<{
        message: string;
    }>;
    availableDriverforThisBooking(payload: DriverIdDto): Promise<{
        data: (import("mongoose").FlattenMaps<{
            referral_id: string;
            name: string;
            email: string;
            driver_service_type: import("../driver/schema/driver.schema").ServiceType;
            gender: import("../driver/schema/driver.schema").Gender;
            country_code: string;
            rzr_contact_id: string;
            beneId: string;
            commission: number;
            service_prefrence: import("../vehicle/schema/vehicle.schema").ServiceType[];
            vehicle_type_id: string;
            ulternate_vehicle_types: 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;
            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;
            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;
            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;
            }[];
            missing_documents: import("mongoose").Types.ObjectId[];
            is_deleted: boolean;
            is_document_missing: boolean;
            timeZone: string;
            created_at: number;
            updated_at: number;
            payout_mode: import("../configuration/schema/app-configuration.schema").PayoutType;
            selected_payout_mode: import("../configuration/schema/app-configuration.schema").PayoutType;
            location: {
                type: string;
                coordinates: number[];
            };
        }> & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        })[];
        count: number;
    }>;
    waitingForDriver(payload: DriverIdDto): Promise<{
        data: (import("mongoose").FlattenMaps<{
            customer_id: string;
            company_id: string;
            company_client_id: string;
            dispatcher_id: string;
            assigned_by: string;
            driver_id: string;
            agent_customer_id: string;
            agent_id: string;
            pass_id: import("mongoose").Types.ObjectId;
            booking_id: string;
            rzr_order_id: string;
            stripe_intent_id: string;
            payment_id: string;
            is_salaried_booking: boolean;
            cashfree_order_id: string;
            cashfree_refund_id: string;
            refund_confirmed: boolean;
            payment_session_id: string;
            you_earn: number;
            routeUrl: string;
            is_request_type_broadcast: boolean;
            request_type: import("./schema/booking.schema").RequestType;
            sender_name: string;
            sender_country_code: string;
            sender_number: string;
            receiver_name: string;
            receiver_country_code: string;
            commission_type: string;
            fleet_id: import("mongoose").Types.ObjectId;
            requested_fleet_id: import("mongoose").Types.ObjectId;
            receiver_number: string;
            is_broadcast: boolean;
            parcel_details: string;
            airport_pickup_charges: number;
            cancellation_charges: number;
            airport_drop_charges: number;
            arrived_at_intercity_destination: number;
            started_from_intercity_destination: number;
            coupon_id: string;
            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;
            pickup_lat: string;
            pickup_long: string;
            total_distance_covered: number;
            drop_lat: string;
            drop_long: string;
            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;
            app_commission_unit: string;
            arrived_at_stop_1: number;
            started_from_stop_1: 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;
            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;
            base_fee: number;
            base_fee_with_discount: number;
            stop_charges: number;
            surcharge_amount: number;
            agent_commission: number;
            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;
            return_trip_charges: number;
            night_stay_charges: number;
            gender_prefrence: import("./schema/booking.schema").GenderPrefrence;
            ride_otp: number;
            waiting_charge_per_min: number;
            is_waiting_charge_noti_send: boolean;
            is_stop1_charge_noti_send: boolean;
            is_stop2_charge_noti_send: boolean;
            rate_by_customer: boolean;
            rate_by_driver: boolean;
            extimated_delivery_time: string;
            start_ride_at: number;
            last_stop_charges_mins: number;
            return_trip: boolean;
            night_stay: boolean;
            last_stop2_charges_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;
            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_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;
            fare_breakdown: any;
            booking_for: string;
        }> & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        })[];
        count: number;
    }>;
    view_booking(id: string, req: any): Promise<{
        data: any;
    }>;
    Available_rides(body: CalculateVehiclePriceDto, req: any): Promise<{
        data: any[];
    }>;
    availableRides(body: CalculateVehiclePriceDto, req: any): Promise<any[]>;
    Available_coupons(body: AvailableCouponDto, req: any): Promise<any[]>;
    promo_code(promo_code: string, 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: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        };
    }>;
    decline_booking(id: string, req: any): Promise<{
        message: string;
    }>;
    RideStatus(body: RideStatus): Promise<{
        message: string;
    }>;
    RideCompleted(id: string, tollAmount: number, req: any, parcel_img: string): Promise<{
        message: string;
    }>;
    AddTip(id: string, body: AddtipDto, req: any): Promise<{
        message: string;
    }>;
    booking_cancelled(id: string, body: CancelBookingDto, req: any): Promise<{
        message: any;
    }>;
    broadcastRequest(id: string, req: any): Promise<{
        message: string;
    }>;
    cancel_request(id: string, req: any): Promise<{
        message: any;
    }>;
    recived_payment(id: string, req: any): Promise<{
        message: string;
    }>;
    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<{
        data: (import("mongoose").Document<unknown, {}, import("./schema/booking.schema").Booking, {}, {}> & import("./schema/booking.schema").Booking & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        })[];
        active_count?: undefined;
        completed_count?: undefined;
        cancelled_count?: undefined;
        failed_count?: undefined;
        schedule_count?: undefined;
        count?: undefined;
    } | {
        active_count: number;
        completed_count: number;
        cancelled_count: number;
        failed_count: number;
        schedule_count: number;
        count: number;
        data: (import("mongoose").Document<unknown, {}, import("./schema/booking.schema").Booking, {}, {}> & import("./schema/booking.schema").Booking & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        })[];
    }>;
    AdminBookingListingExport(body: findBookingDto): Promise<{
        data: (import("mongoose").FlattenMaps<{
            customer_id: string;
            company_id: string;
            company_client_id: string;
            dispatcher_id: string;
            assigned_by: string;
            driver_id: string;
            agent_customer_id: string;
            agent_id: string;
            pass_id: import("mongoose").Types.ObjectId;
            booking_id: string;
            rzr_order_id: string;
            stripe_intent_id: string;
            payment_id: string;
            is_salaried_booking: boolean;
            cashfree_order_id: string;
            cashfree_refund_id: string;
            refund_confirmed: boolean;
            payment_session_id: string;
            you_earn: number;
            routeUrl: string;
            is_request_type_broadcast: boolean;
            request_type: import("./schema/booking.schema").RequestType;
            sender_name: string;
            sender_country_code: string;
            sender_number: string;
            receiver_name: string;
            receiver_country_code: string;
            commission_type: string;
            fleet_id: import("mongoose").Types.ObjectId;
            requested_fleet_id: import("mongoose").Types.ObjectId;
            receiver_number: string;
            is_broadcast: boolean;
            parcel_details: string;
            airport_pickup_charges: number;
            cancellation_charges: number;
            airport_drop_charges: number;
            arrived_at_intercity_destination: number;
            started_from_intercity_destination: number;
            coupon_id: string;
            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;
            pickup_lat: string;
            pickup_long: string;
            total_distance_covered: number;
            drop_lat: string;
            drop_long: string;
            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;
            app_commission_unit: string;
            arrived_at_stop_1: number;
            started_from_stop_1: 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;
            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;
            base_fee: number;
            base_fee_with_discount: number;
            stop_charges: number;
            surcharge_amount: number;
            agent_commission: number;
            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;
            return_trip_charges: number;
            night_stay_charges: number;
            gender_prefrence: import("./schema/booking.schema").GenderPrefrence;
            ride_otp: number;
            waiting_charge_per_min: number;
            is_waiting_charge_noti_send: boolean;
            is_stop1_charge_noti_send: boolean;
            is_stop2_charge_noti_send: boolean;
            rate_by_customer: boolean;
            rate_by_driver: boolean;
            extimated_delivery_time: string;
            start_ride_at: number;
            last_stop_charges_mins: number;
            return_trip: boolean;
            night_stay: boolean;
            last_stop2_charges_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;
            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_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;
            fare_breakdown: any;
            booking_for: string;
        }> & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        })[];
    }>;
    BookingLogs(id: string): Promise<any>;
    AdminBookingDetail(id: string): Promise<{
        data: any;
    }>;
    update_booking(body: UpdateTipPaymentTypeDto, req: any): Promise<{
        message: string;
    }>;
    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: string;
        booking_id?: undefined;
    } | {
        message: string;
        booking_id: string;
    }>;
    assignAFleet(id: string, payload: AssignFleetDto, req: any): Promise<{
        message: string;
        booking_data: import("mongoose").Document<unknown, {}, import("./schema/booking.schema").Booking, {}, {}> & import("./schema/booking.schema").Booking & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        };
    }>;
    calculatePricingOnAdmin(dto: CalculatePricingOnAdminDto): Promise<any>;
}
