import { MerchantConfigurationCSVField, Vehicle, VehicleChange } from '@bringg/types';
import Session from '../Services/Identity/Session';
import { VehicleRemovedEvent, VehiclesCsvImportResponse } from './Vehicle.consts';
export default class Vehicles {
    private vehicleEntity;
    onUpdate: (fn: (item: Vehicle) => void) => void;
    onDelete: (fn: (itemId: number) => void) => void;
    onCreate: (fn: (item: Vehicle) => void) => void;
    onVehicleUnassigned: (fn: (unassignedEvent: Partial<VehicleRemovedEvent>) => void) => void;
    unsubscribe: () => void;
    constructor(session: Session);
    getAll(): Promise<Vehicle[]>;
    getAllByTeam(teamId: any): Promise<Vehicle[]>;
    get(id: number): Promise<Vehicle>;
    update(id: number, diff: Partial<Vehicle>): Promise<Vehicle>;
    create(vehicle: Partial<Vehicle>): Promise<Vehicle>;
    delete(id: number): Promise<boolean>;
    getAssignmentHistory(id: number): Promise<VehicleChange[]>;
    importVehiclesCsv(file: Blob): Promise<VehiclesCsvImportResponse>;
    getCsvUploadFields(): Promise<MerchantConfigurationCSVField[]>;
}
