import { type Vehicle as CcmpVehicle } from "@classic-mp/types/client";
import { BaseObjectType } from "../../../../shared/entities";
import { type IRGB, type IVector3D, Vector3D } from "../../../../shared/common/utils";
import { type IBaseObject } from "../../common/baseObject/IBaseObject";
import { type ILightState, type IVehicle } from "../../common/vehicle/IVehicle";
export type ICCMPNativeVehicle = CcmpVehicle;
export declare class CCMPVehicle implements IVehicle {
    private readonly _ccmpVehicle;
    private readonly _onDestroy;
    private _destroyed;
    constructor(_ccmpVehicle: ICCMPNativeVehicle, _onDestroy?: (vehicle: CCMPVehicle) => void);
    get id(): number;
    get remoteId(): number | null;
    get type(): BaseObjectType;
    get isExists(): boolean;
    get handle(): number;
    destroy(): void;
    get position(): Vector3D;
    get dimension(): number;
    setPosition(value: IVector3D): void;
    setDimension(value: number): void;
    setCoords(xPos: number, yPos: number, zPos: number, xAxis: boolean, yAxis: boolean, zAxis: boolean, clearArea: boolean): void;
    get model(): number;
    get heading(): number;
    setHeading(heading: number): void;
    setModel(value: string): void;
    get rotation(): Vector3D;
    get forwardVector(): Vector3D;
    setRotation(value: IVector3D): void;
    freezePosition(freeze: boolean): void;
    setCollision(collision: boolean, keepPhysics: boolean): void;
    setInvincible(invincible: boolean): void;
    setVisible(visible: boolean): void;
    setAlpha(alpha: number): void;
    get alpha(): number;
    resetAlpha(): void;
    getOffsetFromInWorldCoords(offsetX: number, offsetY: number, offsetZ: number): IVector3D;
    getBoneIndexByName(boneName: string): number;
    getWorldPositionOfBone(boneIndex: number): IVector3D;
    getVariable(name: string): unknown | null;
    getSyncedMeta(key: string): unknown | undefined;
    hasSyncedMeta(key: string): boolean;
    getSyncedMetaKeys(): readonly string[];
    attachToEntity(target: IBaseObject, boneIndex: number, offset: IVector3D, rotation: IVector3D, p9: boolean, useSoftPinning: boolean, collision: boolean, isPed: boolean, vertexIndex: number, fixedRot: boolean): void;
    detach(useDetachVelocity: boolean, collision: boolean): void;
    getSpeed(): number;
    isPlayingAnim(dictionary: string, name: string, taskFlag: number): boolean;
    get bodyHealth(): number;
    get engineHealth(): number;
    get numberPlate(): string;
    get isDead(): boolean;
    setBodyHealth(value: number): void;
    setEngineHealth(value: number): void;
    setNumberPlate(value: string): void;
    explode(): void;
    getPedInSeat(seat: number): number;
    setUndriveable(toggle: boolean): void;
    get maxNumberOfPassengers(): number;
    get gear(): number;
    get speed(): number;
    get isEngineRunning(): boolean;
    setEngineOn(toggle: boolean, instantly: boolean, otherwise: boolean): void;
    get lightsState(): ILightState;
    get isLocked(): boolean;
    setIsLocked(value: boolean): void;
    setCustomPrimaryColour(color: IRGB): void;
    setCustomSecondaryColour(color: IRGB): void;
    get customPrimaryColour(): IRGB;
    get customSecondaryColour(): IRGB;
    setMod(modType: number, modIndex: number): void;
    getMod(modType: number): number;
    getNumMods(modType: number): number;
    setNeonLightEnabled(index: number, toggle: boolean): void;
    setNeonLightsColour(color: IRGB): void;
    setWindowTint(tintType: number): void;
    get windowTint(): number;
    setWheelType(wheelType: number): void;
    get wheelType(): number;
    setNumberPlateType(index: number): void;
    get numberPlateType(): number;
    setDoorOpen(doorIndex: number, loose: boolean, openInstantly: boolean): void;
    setDoorShut(doorIndex: number, instantly: boolean): void;
    setHandling(field: string, value: number): void;
    getHandling(field: string): number;
    setEnginePowerMultiplier(value: number): void;
    setEngineTorqueMultiplier(value: number): void;
    modifyTopSpeed(value: number): void;
    setCheatPowerIncrease(value: number): void;
    toggleMod(modType: number, toggle: boolean): void;
    setTyreSmokeColor(r: number, g: number, b: number): void;
    setModColor1(paintType: number, color: number, p3: number): void;
    setExtraColours(pearlescentColor: number, wheelColor: number): void;
    setHeadlightColor(colorIndex: number): void;
    setDashboardColor(colorIndex: number): void;
    setInteriorColor(colorIndex: number): void;
    getMaxBraking(): number;
    getAcceleration(): number;
    getMaxTraction(): number;
    getModelMaxSpeed(): number;
    private _normalizeHandle;
    private _getRemoteVehicleExists;
}
