import { VehicleStatus, PermitType, VehicleType } from '../schema/vehicle.schema';
export declare class PermitDto {
    permit_type: PermitType;
    state_name?: string;
    permit_document?: string;
    permit_expiry_date?: number;
    last_annual_renewal_document?: string;
    next_annual_renewal_due_date?: number;
    is_active?: boolean;
}
export declare class CreatePermitDto extends PermitDto {
    vehicle_id: string;
}
export declare class CreateMultiplePermitsDto {
    vehicle_id: string;
    permits: PermitDto[];
}
export declare class UpdatePermitDto {
    permit_type?: PermitType;
    state_name?: string;
    permit_document?: string;
    permit_expiry_date?: number;
    last_annual_renewal_document?: string;
    next_annual_renewal_due_date?: number;
    is_active?: boolean;
}
export declare class UpdateBulkPermitItemDto extends UpdatePermitDto {
    _id?: string;
}
export declare class UpdateMultiplePermitsDto {
    vehicle_id: string;
    permits: UpdateBulkPermitItemDto[];
}
declare class DocumentsDto {
    rc_book_url?: string;
    permit_copy_url?: string;
    insurance_url?: string;
    puc_url?: string;
}
export declare class CreateVehicleDto {
    registration_number: string;
    vehicle_type?: VehicleType;
    fuel_type?: string;
    make_brand?: string;
    model?: string;
    manufacturing_year?: number;
    load_capacity_tons?: number;
    documents?: DocumentsDto;
    insurance_expiry_date?: number;
    rc_expiry_date?: number;
    puc_expiry_date?: number;
    chassis_number?: string;
    engine_number?: string;
    owner_name?: string;
    vehicle_colour?: string;
    rc_status?: string;
    insurance_company_name?: string;
    insurance_policy_number?: string;
    seat_capacity?: number;
    gross_vehicle_weight?: number;
    pucc_number?: string;
    pucc_expiry_date?: number;
}
export declare class UpdateVehicleDto {
    vehicle_type?: VehicleType;
    fuel_type?: string;
    registration_number?: string;
    make_brand?: string;
    model?: string;
    manufacturing_year?: number;
    load_capacity_tons?: number;
    documents?: DocumentsDto;
    insurance_expiry_date?: number;
    rc_expiry_date?: number;
    puc_expiry_date?: number;
    chassis_number?: string;
    engine_number?: string;
    owner_name?: string;
    vehicle_colour?: string;
    rc_status?: string;
    insurance_company_name?: string;
    insurance_policy_number?: string;
    seat_capacity?: number;
    gross_vehicle_weight?: number;
    pucc_number?: string;
    pucc_expiry_date?: number;
}
export declare class VehicleListDto {
    page?: number;
    limit?: number;
    search?: string;
    status?: VehicleStatus;
    vehicle_type?: VehicleType;
    permit_expiry_before?: number;
    sort_by?: string;
    order?: string;
    is_deleted?: string;
}
export declare class UpdateVehicleStatusDto {
    status: VehicleStatus;
}
export declare class GetAvailableVehiclesDto {
    trip_start_date: number;
    delivery_estimate_date: number;
    vehicle_type?: VehicleType;
    business_id?: string;
}
export declare class VehicleMonthlyStatsDto {
    month?: string;
    year?: string;
}
export declare class VerifyVehicleRcDto {
    vehicle_number: string;
}
export {};
