import { FleetService } from './fleet.service';
import { AcceptOrRejectBookingDto, EditvehicleDetailDto, SignInDto, SignUpDto, UpdateFleetStatusDto, UpdateServiceAreasDto, VerifyOtpDto } from './dto/fleet.dto';
import { vehicleDetailDto } from 'src/driver/dto/driver.dto';
import { DriverListOnDispatcherForAssignDto } from 'src/booking/dto/booking.dto';
import { PaginationDto } from 'src/fleet-pass/dto/create-payout-subscription.dto';
import { AdminPasswordDto } from 'src/admin/dto/admin.dto';
export declare class FleetController {
    private readonly fleetService;
    constructor(fleetService: FleetService);
    getActiveServiceAreas(): Promise<{
        data: (import("mongoose").Document<unknown, {}, import("../service-location/schema/services-area.schema").ServiceLocationDocument, {}, {}> & import("../service-location/schema/services-area.schema").ServiceLocations & Document & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        })[];
    }>;
    FleetPurchasedPasses(req: any): Promise<{
        passes: (import("mongoose").FlattenMaps<{
            fleetId: string;
            passId: string;
            startDate: number;
            endDate: number;
            amount: number;
            limit: number;
            limit_exceeded: boolean;
            category: string;
            avail_on_rides: number;
            type: string;
            isActive: boolean;
        }> & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        })[];
    }>;
    FleetChangePasword(req: any, body: AdminPasswordDto): Promise<{
        message: string;
    }>;
    getFleetOptions(): Promise<{
        data: {
            name: string;
            id: import("mongoose").Types.ObjectId;
            is_default_fleet: boolean;
            driver_service_type: string[];
        }[];
    }>;
    getAllFleetBookings(fleet_id: string, query: any): Promise<{
        data: (import("mongoose").Document<unknown, {}, import("../booking/schema/booking.schema").Booking, {}, {}> & import("../booking/schema/booking.schema").Booking & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        })[];
    }>;
    getServiceAreasOfFleet(fleet_id: string, req: any): Promise<{
        data: any;
    }>;
    getServiceAreasForFleet(dto: PaginationDto, req: any, status: string): Promise<{
        data: any[];
        meta: {
            total: number;
            activeCount: number;
            inactiveCount: number;
            page: number;
            limit: number;
        };
    }>;
    updateServiceAreas(req: any, body: UpdateServiceAreasDto): Promise<import("mongoose").Document<unknown, {}, import("./schema/fleet.schema").Fleet, {}, {}> & import("./schema/fleet.schema").Fleet & {
        _id: import("mongoose").Types.ObjectId;
    } & {
        __v: number;
    }>;
    updateServiceAreaStatus(req: any, id: string, status: string): Promise<{
        message: string;
    }>;
    getRemainingActiveServiceAreasForFleet(req: any): Promise<{
        data: any;
    }>;
    FleetBookingListing(body: any, req: any): Promise<{
        data: (import("mongoose").Document<unknown, {}, import("../booking/schema/booking.schema").Booking, {}, {}> & import("../booking/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("../booking/schema/booking.schema").Booking, {}, {}> & import("../booking/schema/booking.schema").Booking & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        })[];
    }>;
    getPayoutModel(req: any): Promise<{
        message: string;
        payout_mode: import("../configuration/schema/app-configuration.schema").PayoutType;
    }>;
    changePayoutModelForFleet(model: string, req: any): Promise<{
        message: string;
    }>;
    listOfDriverForAssinByDispatcher(dto: DriverListOnDispatcherForAssignDto, req: any): Promise<{
        data: any;
        count: any;
    }>;
    assignVehicleToDriver(body: any, req: any): Promise<{
        message: string;
        data: import("mongoose").Document<unknown, {}, import("../vehicle/schema/vehicle-assignment.schema").VehicleAssignment, {}, {}> & import("../vehicle/schema/vehicle-assignment.schema").VehicleAssignment & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        };
    }>;
    updateVehicleAssignment(body: any, req: any, id: string): Promise<{
        message: string;
        data: import("mongoose").Document<unknown, {}, import("../vehicle/schema/vehicle-assignment.schema").VehicleAssignment, {}, {}> & import("../vehicle/schema/vehicle-assignment.schema").VehicleAssignment & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        };
    }>;
    unAssignVehicleFromDriver(id: string): Promise<{
        message: string;
        data: import("mongoose").FlattenMaps<{
            vehicle_detail_id: string;
            driver_id: string;
            owner: string;
            owner_id: string;
            weekdays: {
                day: string;
                time_slots: {
                    start_time: string;
                    end_time: string;
                }[];
            }[];
            start_time: string;
            end_time: string;
            start_date_time: string;
            end_date_time: string;
            isActive: boolean;
            isDeleted: boolean;
            assignment_type: import("../vehicle/schema/vehicle-assignment.schema").VehicleAssignmentType;
            created_at: number;
            updated_at: number;
        }> & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        };
    }>;
    getAssignedDriversForVehicle(id: string, req: any): Promise<{
        message: string;
        data: (import("mongoose").FlattenMaps<{
            vehicle_detail_id: string;
            driver_id: string;
            owner: string;
            owner_id: string;
            weekdays: {
                day: string;
                time_slots: {
                    start_time: string;
                    end_time: string;
                }[];
            }[];
            start_time: string;
            end_time: string;
            start_date_time: string;
            end_date_time: string;
            isActive: boolean;
            isDeleted: boolean;
            assignment_type: import("../vehicle/schema/vehicle-assignment.schema").VehicleAssignmentType;
            created_at: number;
            updated_at: number;
        }> & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        })[];
    }>;
    AddVehicle(body: vehicleDetailDto, req: any): Promise<{
        message: string;
    }>;
    getAllVehicles(req: any): Promise<{
        message: string;
        data: (import("mongoose").FlattenMaps<{
            driver_id: string;
            owner: import("../driver/schema/vehicle-detail.schema").VehicleDetailsOwner;
            fleet_id: string;
            vehicle_id: string;
            name: string;
            model: string;
            number: string;
            color: string;
            vin: string;
            child_seat_availabilty: boolean;
            wheel_chair_availabilty: boolean;
            vehicle_registration_image: string;
            vehicle_insurance_image: string;
            insurance_expiry_date: number;
            registration_expiry_date: number;
            status: string;
            approved_on: number;
            rejection_reason: string;
            created_at: number;
            updated_at: number;
        }> & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        })[];
    }>;
    getVehicleDetails(id: string): Promise<{
        message: string;
        data: import("mongoose").FlattenMaps<{
            driver_id: string;
            owner: import("../driver/schema/vehicle-detail.schema").VehicleDetailsOwner;
            fleet_id: string;
            vehicle_id: string;
            name: string;
            model: string;
            number: string;
            color: string;
            vin: string;
            child_seat_availabilty: boolean;
            wheel_chair_availabilty: boolean;
            vehicle_registration_image: string;
            vehicle_insurance_image: string;
            insurance_expiry_date: number;
            registration_expiry_date: number;
            status: string;
            approved_on: number;
            rejection_reason: string;
            created_at: number;
            updated_at: number;
        }> & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        };
    }>;
    EditVehicle(body: EditvehicleDetailDto, req: any): Promise<{
        message: string;
    }>;
    acceptOrRejectBookingRequest(body: AcceptOrRejectBookingDto, req: any): Promise<{
        message: string;
    }>;
    listOfFleetForAssinByDispatcher(body: any, req: any): Promise<{
        data: any[];
        count: number;
    }>;
    FleetBookingListingExport(body: any, 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("../booking/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("../booking/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;
        })[];
    }>;
    dashboard(req: any): Promise<{
        OverallBooking: any;
        TodayBooking: any;
        MonthlyBooking: any;
        WeeklyBooking: any;
        Overalldriver: any;
        Idledriver: any;
        OnRidedriver: any;
        Offlinedriver: any;
        overallEarning: number;
        todayEarning: number;
        weeklyEarning: number;
        monthlyEarning: number;
    }>;
    updateFleetStatus(body: UpdateFleetStatusDto): Promise<{
        message: string;
        data: import("mongoose").Document<unknown, {}, import("./schema/fleet.schema").Fleet, {}, {}> & import("./schema/fleet.schema").Fleet & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        };
    }>;
    signup(signUpDto: SignUpDto): Promise<{
        data: import("mongoose").Document<unknown, {}, import("./schema/fleet.schema").Fleet, {}, {}> & import("./schema/fleet.schema").Fleet & {
            _id: import("mongoose").Types.ObjectId;
        } & {
            __v: number;
        };
        message: string;
        token: string;
    }>;
    login(signInDto: SignInDto): Promise<any>;
    getProfile(req: any): Promise<any>;
    verifyOtp(req: any, verifyOtpDto: VerifyOtpDto): Promise<any>;
    resendOtp(req: any, verifyOtpDto: VerifyOtpDto): Promise<any>;
    fleetDeatils(id: string): Promise<any>;
    findAll(body: any): Promise<{
        count: any;
        data: any;
        request_fleet: number;
        active_fleet: number;
        in_active_fleet: number;
        block_fleet: number;
        deleted_fleet: number;
    }>;
    export(body: any): Promise<{
        count: any;
        data: any;
    }>;
}
