import type { _SCNPhysicsBehavior } from "./SCNPhysicsBehavior.js";
import type { _SCNPhysicsBody } from "./SCNPhysicsBody.js";
import type { _NSArray } from "../Foundation/NSArray.js";
export declare class _SCNPhysicsVehicle extends _SCNPhysicsBehavior {
    static alloc(): _SCNPhysicsVehicle;
    static new(): _SCNPhysicsVehicle;
    init(): _SCNPhysicsVehicle;
    /**
     * Initializes and returns a physics vehicle that applies on the physics body "chassisBody" with the given wheels. The wheel properties can be modified at anytime by calling setValue:forKeyPath: on each wheel with the format 'wheel[n].property', where n if the zero based wheel index. A wheel can't be shared to multiple vehicle
     */
    static vehicleWithChassisBody$wheels$(chassisBody: _SCNPhysicsBody, wheels: _NSArray): _SCNPhysicsVehicle;
    /** Applies a force on the wheel at the specified index */
    applyEngineForce$forWheelAtIndex$(value: number, index: number): void;
    /**
     * Allows to control the direction of the wheel at the specified index. The steering value is expressed in radian, 0 means straight ahead.
     */
    setSteeringAngle$forWheelAtIndex$(value: number, index: number): void;
    /** Applies a brake force on the wheel at the specified index. */
    applyBrakingForce$forWheelAtIndex$(value: number, index: number): void;
    /** The actual speed in kilometers per hour. */
    speedInKilometersPerHour(): number;
    /** The wheels of the vehicle */
    wheels(): _NSArray;
    /** The chassis of the vehicle */
    chassisBody(): _SCNPhysicsBody;
}
