import type { Scene } from "@babylonjs/core/scene"; import type { ILogger } from "../../ILogger"; import type { MmdWasmRuntime } from "../mmdWasmRuntime"; import type { IPhysicsClock } from "./IPhysicsClock"; import { MmdWasmPhysicsMetadataEncoder } from "./mmdWasmPhysicsMetadataEncoder"; import { MmdWasmPhysicsRuntime } from "./mmdWasmPhysicsRuntime"; /** * Mmd wasm integrated physics runtime helper object * * For use physics integrated mmd wasm runtime you need to pass this object to the mmd runtime constructor */ export declare class MmdWasmPhysics { private readonly _scene; /** * Create mmd wasm integrated physics runtime helper object * @param scene scene */ constructor(scene: Scene); /** * create mmd wasm physics runtime * * MmdWasmPhysicsRuntime must be disposed when it is no longer needed * @param mmdRuntime mmd wasm runtime * @returns mmd wasm physics runtime */ createRuntime(mmdRuntime: MmdWasmRuntime): MmdWasmPhysicsRuntime; /** * create physics clock * @returns physics clock */ createPhysicsClock(): IPhysicsClock; /** * create physics metadata encoder * @param physicsRuntime physics runtime * @param logger logger * @returns physics metadata encoder */ createMetadataEncoder(physicsRuntime: MmdWasmPhysicsRuntime, logger: ILogger): MmdWasmPhysicsMetadataEncoder; }