import { MTableQueries } from "../../common-types/common";
import { FleetVehicleAssignment, FleetVehicleAssignmentBase } from "../../schema/fleet/fleet_vehicle_assignment";
import { controllerResponse } from "../../utilities";
type IFleetVehicleAssignmentErrorLogger = {
    [key in keyof MFleetVehicleAssignment]: string;
};
type IFleetVehicleAssignmentGetByIdErrorLogger = {
    [key in keyof MFleetVehicleAssignmentGetByIdPayload]: string;
};
type IFleetVehicleAssignmentDeleteErrorLogger = {
    [key in keyof MFleetVehicleAssignmentDeletePayload]: string;
};
type IFleetVehicleAssignmentInsertUpdateErrorLogger = {
    [key in keyof MFleetVehicleAssignmentInsertUpdatePayload]: string;
};
declare class MFleetVehicleAssignment extends MTableQueries {
    fltva_vehicle_id_fltvh?: string;
    fltva_driver_id_fltdr?: string;
    fltva_route_id_fltrm?: string;
    fltva_entity_id_syen?: string;
    fltva_isactive?: boolean;
    constructor(init: MFleetVehicleAssignment);
    Validate?(): Partial<IFleetVehicleAssignmentErrorLogger>;
}
declare class MFleetVehicleAssignmentGetByIdPayload {
    fltva_id?: string;
    constructor(init: MFleetVehicleAssignmentGetByIdPayload);
    Validate?(): Partial<IFleetVehicleAssignmentGetByIdErrorLogger>;
}
declare class MFleetVehicleAssignmentDeletePayload {
    fltva_id?: string;
    constructor(init: MFleetVehicleAssignmentDeletePayload);
    Validate?(): Partial<IFleetVehicleAssignmentDeleteErrorLogger>;
}
declare class MFleetVehicleAssignmentInsertUpdatePayload extends FleetVehicleAssignment {
    constructor(init: FleetVehicleAssignment);
    Validate?(): Partial<IFleetVehicleAssignmentInsertUpdateErrorLogger>;
}
interface FleetVehicleAssignmentResponse extends Omit<FleetVehicleAssignmentBase, 'fltva_vehicle_id_fltvh' | 'fltva_driver_id_fltdr' | 'fltva_helper_id_fltdr' | 'fltva_route_id_fltrm' | 'fltva_shift_sygms' | 'fltva_assignment_type_sygms' | 'fltva_entity_id_syen' | 'fltva_academic_year_id_acayr'> {
    fltva_vehicle_id_fltvh?: {
        _id: string;
        fltvh_registration_number: string;
        fltvh_vehicle_name: string;
    };
    fltva_driver_id_fltdr?: {
        _id: string;
        fltdr_driver_name: string;
    };
    fltva_helper_id_fltdr?: {
        _id: string;
        fltdr_driver_name: string;
    };
    fltva_route_id_fltrm?: {
        _id: string;
        fltrm_route_name: string;
        fltrm_route_code: string;
    };
    fltva_shift_sygms?: {
        _id: string;
        sygms_title: string;
        sygms_code: string;
    };
    fltva_assignment_type_sygms?: {
        _id: string;
        sygms_title: string;
        sygms_code: string;
    };
    fltva_entity_id_syen?: {
        _id: string;
        syen_name: string;
    };
    fltva_academic_year_id_acayr?: {
        _id: string;
        acayr_name: string;
    };
}
interface fleetVehicleAssignmentControllerResponse extends controllerResponse {
    data?: FleetVehicleAssignmentResponse[] | FleetVehicleAssignmentResponse | null;
    totalDocument?: number;
}
interface fleetVehicleAssignmentByIdControllerResponse extends controllerResponse {
    data?: FleetVehicleAssignmentResponse;
}
interface fleetVehicleAssignmentInsertUpdateControllerResponse extends controllerResponse {
    data?: FleetVehicleAssignmentResponse;
}
interface fleetVehicleAssignmentDeleteControllerResponse extends controllerResponse {
    data?: {
        deleted: boolean;
    };
}
export { IFleetVehicleAssignmentErrorLogger, IFleetVehicleAssignmentGetByIdErrorLogger, IFleetVehicleAssignmentDeleteErrorLogger, IFleetVehicleAssignmentInsertUpdateErrorLogger, MFleetVehicleAssignment, MFleetVehicleAssignmentGetByIdPayload, MFleetVehicleAssignmentDeletePayload, MFleetVehicleAssignmentInsertUpdatePayload, FleetVehicleAssignmentResponse, fleetVehicleAssignmentControllerResponse, fleetVehicleAssignmentByIdControllerResponse, fleetVehicleAssignmentInsertUpdateControllerResponse, fleetVehicleAssignmentDeleteControllerResponse };
