import { UserStatus, Language, DriverPaymentStructure } from 'src/user/schema/users.schema';
import { DriverLedgerAction } from '../schema/driver-ledger.schema';
import { PenaltyCategory } from '../schema/driver-penalty.schema';
export declare class CreateDriverDto {
    name: string;
    phone_no: string;
    country_code: string;
    blood_group?: string;
    address?: string;
    aadhaar_number?: string;
    emergency_contact_name?: string;
    emergency_contact_number?: string;
    emergency_country_code?: string;
    driving_license_number: string;
    license_expiry_date?: number;
    profile_pic?: string;
    aadhaar_card_document?: string;
    aadhaar_card_document_back?: string;
    driving_license_document?: string;
    driving_license_document_back?: string;
    salary?: number;
    date_of_joining?: number;
    date_of_salary?: number;
    payment_structure?: DriverPaymentStructure;
    per_km_rate?: number;
    monthly_allowance?: number;
    daily_allowance_rate?: number;
}
export declare class UpdateDriverDto {
    name?: string;
    phone_no?: string;
    country_code?: string;
    blood_group?: string;
    address?: string;
    aadhaar_number?: string;
    emergency_contact_name?: string;
    emergency_contact_number?: string;
    emergency_country_code?: string;
    driving_license_number?: string;
    license_expiry_date?: number;
    profile_pic?: string;
    aadhaar_card_document?: string;
    aadhaar_card_document_back?: string;
    driving_license_document?: string;
    driving_license_document_back?: string;
    salary?: number;
    revised_salary?: number;
    revised_salary_from?: number;
    date_of_joining?: number;
    date_of_salary?: number;
    payment_structure?: DriverPaymentStructure;
    per_km_rate?: number;
    monthly_allowance?: number;
    daily_allowance_rate?: number;
}
export declare class UpdateDriverStatusDto {
    status: UserStatus;
}
export declare class DriverListDto {
    page?: number;
    limit?: number;
    search?: string;
    status?: UserStatus;
    verification_status?: string;
    is_deleted?: string;
    availability?: string;
}
export declare class VerifyOtpDto {
    driver_id: string;
    otp: string;
}
export declare class ResendOtpDto {
    driver_id: string;
}
export declare class DriverLoginDto {
    country_code: string;
    phone_no: string;
    fcm_token?: string;
    device_type?: string;
    language: Language;
    user_type: string;
}
export declare class VerifyDriverLoginOtpDto {
    country_code: string;
    phone_no: string;
    otp: string;
    fcm_token?: string;
    device_type?: string;
    user_type: string;
}
export declare class ResendDriverLoginOtpDto {
    country_code: string;
    phone_no: string;
    user_type: string;
}
export declare class GetAvailableDriversDto {
    trip_start_date: number;
    delivery_estimate_date: number;
    business_id?: string;
}
export declare class AddDriverPenaltyDto {
    driver_id: string;
    category: PenaltyCategory;
    amount: number;
    date_of_incident: any;
    description: string;
    evidence_url?: string;
}
export declare class PayDriverSalaryDto {
    driver_id: string;
    action_type: string;
    advance_amount?: number;
    is_advance_deduction?: boolean;
    deduct_amount?: number;
    is_penalty_deduction?: boolean;
    penalty_deduct_amount?: number;
    is_salary_payment?: boolean;
    salary_amount?: number;
    description?: string;
    transaction_date?: number;
    include_daily_allowance?: boolean;
    daily_allowance_amount?: number;
    is_leave_deduction?: boolean;
    leave_deduct_amount?: number;
    salary_month?: string;
}
export declare class PayFromReserveDto {
    driver_id: string;
    amount: number;
    recover_penalty_amount?: number;
    penalty_deduct_amount?: number;
    is_penalty_deduction?: boolean;
    transaction_date?: number;
    description?: string;
}
export declare class GiveDailyAllowanceDto {
    driver_id: string;
    amount: number;
    transaction_date?: number;
    description?: string;
}
export declare class FinalSettlementDto {
    driver_id: string;
    date_of_exit: number;
    transaction_date?: number;
    settle_reserve?: boolean;
    settle_advance?: boolean;
    settle_penalty?: boolean;
    settle_daily_allowance?: boolean;
    net_settlement_amount?: number;
    remarks?: string;
}
export declare class InterimSettlementDto {
    driver_id: string;
    transaction_date?: number;
    settle_reserve?: boolean;
    settle_advance?: boolean;
    settle_penalty?: boolean;
    settle_daily_allowance?: boolean;
    net_settlement_amount?: number;
    remarks?: string;
}
export declare class GetDriverLedgerDto {
    page?: number;
    limit?: number;
    search?: string;
    action_type?: DriverLedgerAction;
}
export declare class DriverSosDto {
    latitude: number;
    longitude: number;
}
