import mongoose, { HydratedDocument } from 'mongoose';
import { PayoutType } from 'src/configuration/schema/app-configuration.schema';
import { ServiceType as VehicleServiceType } from 'src/vehicle/schema/vehicle.schema';
export declare enum status {
    Online = "online",
    Offline = "offline"
}
export declare enum ride_status {
    busy = "busy",
    free = "free"
}
export declare enum Gender {
    Male = "male",
    Female = "female",
    Other = "other"
}
export declare enum ServiceType {
    FREELANCE = "freelance",
    SALARIED = "salaried"
}
export declare class Drivers {
    referral_id: string;
    name: string;
    email: string;
    driver_service_type: ServiceType;
    gender: Gender;
    country_code: string;
    rzr_contact_id: string;
    beneId: string;
    commission: number;
    service_prefrence: VehicleServiceType[];
    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: mongoose.Types.ObjectId[];
    is_deleted: boolean;
    is_document_missing: boolean;
    timeZone: string;
    created_at: number;
    updated_at: number;
    payout_mode: PayoutType;
    selected_payout_mode: PayoutType;
    location: {
        type: string;
        coordinates: number[];
    };
}
export type DriversDocment = HydratedDocument<Drivers>;
export declare const DriversModel: mongoose.Schema<Drivers, mongoose.Model<Drivers, any, any, any, mongoose.Document<unknown, any, Drivers, any, {}> & Drivers & {
    _id: mongoose.Types.ObjectId;
} & {
    __v: number;
}, any>, {}, {}, {}, {}, mongoose.DefaultSchemaOptions, Drivers, mongoose.Document<unknown, {}, mongoose.FlatRecord<Drivers>, {}, mongoose.ResolveSchemaOptions<mongoose.DefaultSchemaOptions>> & mongoose.FlatRecord<Drivers> & {
    _id: mongoose.Types.ObjectId;
} & {
    __v: number;
}>;
