import { type IVehicle } from "../../common/vehicle/IVehicle";
import { type IVehicleCreateOptions, type IVehiclesManager } from "../../common/vehicle/IVehiclesManager";
import { type IWorldObjectsIterator } from "../../common/worldObject/IWorldObjectsIterator";
export declare class CCMPVehiclesManager implements IVehiclesManager {
    private readonly _vehicles;
    private readonly _vehiclesByRemoteId;
    private readonly _iterator;
    constructor();
    create(options: IVehicleCreateOptions): IVehicle;
    getDisplayNameFromVehicleModel(modelHash: number): string;
    syncWithMpPool(): void;
    registerById(id: number): IVehicle;
    unregisterById(id: number): IVehicle;
    findByID(id: number): IVehicle | null;
    getByID(id: number): IVehicle;
    findByRemoteID(remoteId: number): IVehicle | null;
    getByRemoteID(remoteId: number): IVehicle;
    deleteById(id: number): IVehicle;
    get iterator(): IWorldObjectsIterator<IVehicle>;
    private _register;
    private _unregister;
    private _findRegistered;
    private _registerLifecycleEvents;
    private _filter;
    private _pruneDestroyed;
    private _getNativeVehiclesApi;
}
