import { MerchantConfigurationCSVField, Vehicle, VehicleChange } from '@bringg/types';
export type VehiclesResponse = {
    success: boolean;
    vehicles: Vehicle[];
};
export type PagedVehiclesResponse = {
    success: boolean;
    vehicles: Vehicle[];
    next_page_cursor: number;
    previous_page_cursor: number;
};
export type VehicleSuccessResponse = {
    success: boolean;
};
export type VehicleResponse = {
    success: boolean;
    vehicle: Vehicle;
};
export type AssignmentHistoryResponse = {
    success: boolean;
    changes: VehicleChange[];
};
export declare const REAL_TIME_EVENTS: {
    VEHICLE_UPDATE: string;
    VEHICLE_DELETE: string;
    VEHICLE_UNASSIGNED: string;
};
export declare enum VehicleGroup {
    Team = "team_id",
    IsTrailer = "is_trailer"
}
export declare const vehicleExtractor: (response: VehicleResponse) => Vehicle;
export declare const successExtractor: (response: VehicleSuccessResponse) => boolean;
export declare const vehiclesExtractor: (response: VehiclesResponse) => Vehicle[];
export declare const assignmentHistoryExtractor: (response: AssignmentHistoryResponse) => VehicleChange[];
export declare const getCsvFieldsExtractor: (response: GetCsvUploadFieldsResponse) => MerchantConfigurationCSVField[];
export type VehicleRemovedEvent = {
    vehicle_id: number;
    user_id: number;
    merchant_id: number;
    vehicle: Vehicle;
};
export type VehicleCsvImportError = {
    line: number;
    error: {
        message: string;
    };
};
export type VehiclesCsvImportResponse = {
    success: boolean;
    imported_vehicles: number;
    failed_importing: number;
    errors: VehicleCsvImportError[];
};
export type GetCsvUploadFieldsResponse = {
    success: boolean;
    csv_upload_fields: MerchantConfigurationCSVField[];
};
export interface PagedVehiclesFilters {
    query?: string;
    teams?: number[];
    vehicle_types?: number[];
    /**
     * Please use as `skills?: string[]`.
     * After BRNGG-37983 will be merged into bringg-frontend `skills?: number[]` won't be supported
     */
    skills?: string[] | number[];
    model?: string;
    parking_locations?: number[];
    is_trailer?: boolean;
    can_attach_trailer?: boolean;
    is_available?: boolean;
}
