import type { IWasmSpinLock } from "../../../Misc/IWasmSpinLock"; import type { IBulletWasmInstance } from "../bulletWasmInstance"; import type { RigidBodyBundle } from "../rigidBodyBundle"; import { ImmediateRigidBodyBundleImpl } from "./Immediate/immediateRigidBodyBundleImpl"; import { ImmediateRigidBodyImpl } from "./Immediate/immediateRigidBodyImpl"; import type { IPhysicsRuntime } from "./IPhysicsRuntime"; declare class NullSpinlock implements IWasmSpinLock { wait(): void; } /** * Empty implementation of the physics runtime * for use PhysicsWorld/MultiPhysicsWorld directly without any additional runtime */ export declare class NullPhysicsRuntime implements IPhysicsRuntime { /** * @internal */ readonly wasmInstance: IBulletWasmInstance; /** * Spinlock for the physics runtime to synchronize access to the physics world state * @internal */ readonly lock: NullSpinlock; /** * Creates a new physics runtime * @param wasmInstance The Bullet WASM instance */ constructor(wasmInstance: IBulletWasmInstance); /** @internal */ createRigidBodyImpl(): ImmediateRigidBodyImpl; /** @internal */ createRigidBodyBundleImpl(bundle: RigidBodyBundle): ImmediateRigidBodyBundleImpl; } export {};