import { Object3D, Quaternion, Vector3 } from 'three';
import { NamedFunction1, ObjectNamedFunction0, ObjectNamedFunction1, ObjectNamedFunction2, ObjectNamedFunction3, ObjectNamedFunction4 } from './_Base';
import { Ref } from '@vue/reactivity';
export declare class physicsWorldReset extends ObjectNamedFunction0 {
    static type(): string;
    func(object3D: Object3D): void;
}
export declare class physicsWorldStepSimulation extends ObjectNamedFunction0 {
    static type(): string;
    func(object3D: Object3D): void;
}
export declare class physicsDebugUpdate extends ObjectNamedFunction0 {
    static type(): string;
    func(object3D: Object3D): void;
}
export declare class setPhysicsWorldGravity extends ObjectNamedFunction2<[Vector3, number]> {
    static type(): string;
    func(object3D: Object3D, gravity: Vector3, lerp: number): void;
}
export declare class getPhysicsRBD extends NamedFunction1<[string]> {
    static type(): string;
    func(rbdId: string): Object3D | undefined;
}
export declare class getPhysicsRBDCapsuleRadius extends ObjectNamedFunction0 {
    static type(): string;
    func(object3D: Object3D): number;
}
export declare class getPhysicsRBDCapsuleHeight extends ObjectNamedFunction0 {
    static type(): string;
    func(object3D: Object3D): number;
}
export declare class getPhysicsRBDConeHeight extends ObjectNamedFunction0 {
    static type(): string;
    func(object3D: Object3D): number;
}
export declare class getPhysicsRBDConeRadius extends ObjectNamedFunction0 {
    static type(): string;
    func(object3D: Object3D): number;
}
export declare class getPhysicsRBDCuboidSizes extends ObjectNamedFunction1<[Vector3]> {
    static type(): string;
    func(object3D: Object3D, target: Vector3): Vector3;
}
export declare class getPhysicsRBDCylinderHeight extends ObjectNamedFunction0 {
    static type(): string;
    func(object3D: Object3D): number;
}
export declare class getPhysicsRBDCylinderRadius extends ObjectNamedFunction0 {
    static type(): string;
    func(object3D: Object3D): number;
}
export declare class getPhysicsRBDSphereRadius extends ObjectNamedFunction0 {
    static type(): string;
    func(object3D: Object3D): number;
}
export declare class setPhysicsRBDCapsuleProperty extends ObjectNamedFunction3<[number, number, boolean]> {
    static type(): string;
    func(object3D: Object3D, scale: number, lerp: number, updateMatrix: boolean): void;
}
export declare class setPhysicsRBDConeProperty extends ObjectNamedFunction4<[number, number, number, boolean]> {
    static type(): string;
    func(object3D: Object3D, radius: number, height: number, lerp: number, updateMatrix: boolean): void;
}
export declare class setPhysicsRBDCuboidProperty extends ObjectNamedFunction4<[Vector3, number, number, boolean]> {
    static type(): string;
    func(object3D: Object3D, sizes: Vector3, size: number, lerp: number, updateMatrix: boolean): void;
}
export declare class setPhysicsRBDCylinderProperty extends ObjectNamedFunction4<[number, number, number, boolean]> {
    static type(): string;
    func(object3D: Object3D, radius: number, height: number, lerp: number, updateMatrix: boolean): void;
}
export declare class setPhysicsRBDSphereProperty extends ObjectNamedFunction3<[number, number, boolean]> {
    static type(): string;
    func(object3D: Object3D, radius: number, lerp: number, updateMatrix: boolean): void;
}
export declare class getPhysicsRBDAngularVelocity extends ObjectNamedFunction1<[Vector3]> {
    static type(): string;
    func(object3D: Object3D, target: Vector3): Vector3;
}
export declare class getChildrenPhysicsRBDPropertiesAngularVelocity extends ObjectNamedFunction1<[Array<Vector3>]> {
    static type(): string;
    func(object3D: Object3D, values: Vector3[]): Vector3[];
}
export declare class getPhysicsRBDLinearVelocity extends ObjectNamedFunction1<[Vector3]> {
    static type(): string;
    func(object3D: Object3D, target: Vector3): Vector3;
}
export declare class getChildrenPhysicsRBDPropertiesLinearVelocity extends ObjectNamedFunction1<[Array<Vector3>]> {
    static type(): string;
    func(object3D: Object3D, values: Vector3[]): Vector3[];
}
export declare class getPhysicsRBDAngularDamping extends ObjectNamedFunction0 {
    static type(): string;
    func(object3D: Object3D): number;
}
export declare class getChildrenPhysicsRBDPropertiesAngularDamping extends ObjectNamedFunction1<[Array<number>]> {
    static type(): string;
    func(object3D: Object3D, values: number[]): number[];
}
export declare class getPhysicsRBDLinearDamping extends ObjectNamedFunction0 {
    static type(): string;
    func(object3D: Object3D): number;
}
export declare class getChildrenPhysicsRBDPropertiesLinearDamping extends ObjectNamedFunction1<[Array<number>]> {
    static type(): string;
    func(object3D: Object3D, values: number[]): number[];
}
export declare class getPhysicsRBDIsSleeping extends ObjectNamedFunction0 {
    static type(): string;
    func(object3D: Object3D): boolean;
}
export declare class getChildrenPhysicsRBDPropertiesIsSleeping extends ObjectNamedFunction1<[Array<boolean>]> {
    static type(): string;
    func(object3D: Object3D, values: boolean[]): boolean[];
}
export declare class getPhysicsRBDIsMoving extends ObjectNamedFunction0 {
    static type(): string;
    func(object3D: Object3D): boolean;
}
export declare class getChildrenPhysicsRBDPropertiesIsMoving extends ObjectNamedFunction1<[Array<boolean>]> {
    static type(): string;
    func(object3D: Object3D, values: boolean[]): boolean[];
}
export declare class setPhysicsRBDPosition extends ObjectNamedFunction2<[Vector3, number]> {
    static type(): string;
    func(object3D: Object3D, position: Vector3, lerp: number): void;
}
export declare class setPhysicsRBDRotation extends ObjectNamedFunction2<[Quaternion, number]> {
    static type(): string;
    func(object3D: Object3D, quat: Quaternion, lerp: number): void;
}
export declare class setPhysicsRBDAngularVelocity extends ObjectNamedFunction2<[Vector3, number]> {
    static type(): string;
    func(object3D: Object3D, velocity: Vector3, lerp: number): void;
}
export declare class setPhysicsRBDLinearVelocity extends ObjectNamedFunction2<[Vector3, number]> {
    static type(): string;
    func(object3D: Object3D, velocity: Vector3, lerp: number): void;
}
export declare class physicsRBDAddForce extends ObjectNamedFunction1<[Vector3]> {
    static type(): string;
    func(object3D: Object3D, force: Vector3): void;
}
export declare class physicsRBDAddForceAtPoint extends ObjectNamedFunction2<[Vector3, Vector3]> {
    static type(): string;
    func(object3D: Object3D, force: Vector3, point: Vector3): void;
}
export declare class physicsRBDAddTorque extends ObjectNamedFunction1<[Vector3]> {
    static type(): string;
    func(object3D: Object3D, force: Vector3): void;
}
export declare class physicsRBDApplyTorqueImpulse extends ObjectNamedFunction1<[Vector3]> {
    static type(): string;
    func(object3D: Object3D, impulse: Vector3): void;
}
export declare class physicsRBDApplyImpulse extends ObjectNamedFunction1<[Vector3]> {
    static type(): string;
    func(object3D: Object3D, impulse: Vector3): void;
}
export declare class physicsRBDApplyImpulseAtPoint extends ObjectNamedFunction2<[Vector3, Vector3]> {
    static type(): string;
    func(object3D: Object3D, impulse: Vector3, point: Vector3): void;
}
export declare class physicsRBDResetAll extends ObjectNamedFunction1<[boolean]> {
    static type(): string;
    func(object3D: Object3D, wakeup: boolean): void;
}
export declare class physicsRBDResetForces extends ObjectNamedFunction1<[boolean]> {
    static type(): string;
    func(object3D: Object3D, wakeup: boolean): void;
}
export declare class physicsRBDResetTorques extends ObjectNamedFunction1<[boolean]> {
    static type(): string;
    func(object3D: Object3D, wakeup: boolean): void;
}
export declare class createPhysicsRBD extends ObjectNamedFunction2<[Object3D, Ref<string>]> {
    static type(): string;
    func(worldObject: Object3D, object: Object3D, rbdId: Ref<string>): void;
}
export declare class createPhysicsRBDs extends ObjectNamedFunction2<[Object3D[], Ref<string[]>]> {
    static type(): string;
    func(worldObject: Object3D, objects: Object3D[], rbdIds: Ref<string[]>): void;
}
export declare class physicsRBDDelete extends ObjectNamedFunction0 {
    static type(): string;
    func(object3D: Object3D): void;
}
export declare class createPhysicsRBDKinematicConstraint extends ObjectNamedFunction2<[Vector3, Ref<string>]> {
    static type(): string;
    func(object3D: Object3D, anchor: Vector3, rbdIdRef: Ref<string>): void;
}
export declare class deletePhysicsRBDKinematicConstraint extends ObjectNamedFunction0 {
    static type(): string;
    func(object3D: Object3D): void;
}
export declare class deletePhysicsRBDConstraints extends ObjectNamedFunction0 {
    static type(): string;
    func(object3D: Object3D): void;
}
