import { MTableQueries } from "../../common-types/common";
import { FleetIncidentReport, FleetIncidentReportBase } from "../../schema/fleet/fleet_incident_report";
import { controllerResponse } from "../../utilities";
type IFleetIncidentReportErrorLogger = {
    [key in keyof MFleetIncidentReport]: string;
};
type IFleetIncidentReportGetByIdErrorLogger = {
    [key in keyof MFleetIncidentReportGetByIdPayload]: string;
};
type IFleetIncidentReportDeleteErrorLogger = {
    [key in keyof MFleetIncidentReportDeletePayload]: string;
};
type IFleetIncidentReportInsertUpdateErrorLogger = {
    [key in keyof MFleetIncidentReportInsertUpdatePayload]: string;
};
declare class MFleetIncidentReport extends MTableQueries {
    fltir_vehicle_id_fltvh?: string;
    fltir_driver_id_fltdr?: string;
    fltir_incident_type_sygms?: string;
    fltir_entity_id_syen?: string;
    fltir_isactive?: boolean;
    constructor(init: MFleetIncidentReport);
    Validate?(): Partial<IFleetIncidentReportErrorLogger>;
}
declare class MFleetIncidentReportGetByIdPayload {
    fltir_id?: string;
    constructor(init: MFleetIncidentReportGetByIdPayload);
    Validate?(): Partial<IFleetIncidentReportGetByIdErrorLogger>;
}
declare class MFleetIncidentReportDeletePayload {
    fltir_id?: string;
    constructor(init: MFleetIncidentReportDeletePayload);
    Validate?(): Partial<IFleetIncidentReportDeleteErrorLogger>;
}
declare class MFleetIncidentReportInsertUpdatePayload extends FleetIncidentReport {
    constructor(init: FleetIncidentReport);
    Validate?(): Partial<IFleetIncidentReportInsertUpdateErrorLogger>;
}
interface FleetIncidentReportResponse extends Omit<FleetIncidentReportBase, 'fltir_vehicle_id_fltvh' | 'fltir_driver_id_fltdr' | 'fltir_incident_type_sygms' | 'fltir_severity_sygms' | 'fltir_status_sygms' | 'fltir_entity_id_syen' | 'fltir_reported_by_user'> {
    fltir_vehicle_id_fltvh?: {
        _id: string;
        fltvh_registration_number: string;
        fltvh_vehicle_name: string;
    };
    fltir_driver_id_fltdr?: {
        _id: string;
        fltdr_driver_name: string;
    };
    fltir_incident_type_sygms?: {
        _id: string;
        sygms_title: string;
        sygms_code: string;
    };
    fltir_severity_sygms?: {
        _id: string;
        sygms_title: string;
        sygms_code: string;
    };
    fltir_status_sygms?: {
        _id: string;
        sygms_title: string;
        sygms_code: string;
    };
    fltir_entity_id_syen?: {
        _id: string;
        syen_name: string;
    };
    fltir_reported_by_user?: {
        _id: string;
        username: string;
    };
}
interface fleetIncidentReportControllerResponse extends controllerResponse {
    data?: FleetIncidentReportResponse[] | FleetIncidentReportResponse | null;
    totalDocument?: number;
}
interface fleetIncidentReportByIdControllerResponse extends controllerResponse {
    data?: FleetIncidentReportResponse;
}
interface fleetIncidentReportInsertUpdateControllerResponse extends controllerResponse {
    data?: FleetIncidentReportResponse;
}
interface fleetIncidentReportDeleteControllerResponse extends controllerResponse {
    data?: {
        deleted: boolean;
    };
}
export { IFleetIncidentReportErrorLogger, IFleetIncidentReportGetByIdErrorLogger, IFleetIncidentReportDeleteErrorLogger, IFleetIncidentReportInsertUpdateErrorLogger, MFleetIncidentReport, MFleetIncidentReportGetByIdPayload, MFleetIncidentReportDeletePayload, MFleetIncidentReportInsertUpdatePayload, FleetIncidentReportResponse, fleetIncidentReportControllerResponse, fleetIncidentReportByIdControllerResponse, fleetIncidentReportInsertUpdateControllerResponse, fleetIncidentReportDeleteControllerResponse };
