import { type Nullable } from "@babylonjs/core/types.js"; import { type AnimationGroup } from "@babylonjs/core/Animations/animationGroup.pure.js"; import { type TransformNode } from "@babylonjs/core/Meshes/transformNode.pure.js"; import { type IScene, type INode, type IAnimation } from "../glTFLoaderInterfaces.js"; import { type IGLTFLoaderExtension } from "../glTFLoaderExtension.js"; import { GLTFLoader } from "../glTFLoader.pure.js"; /** * [Specification](https://github.com/najadojo/glTF/blob/MSFT_audio_emitter/extensions/2.0/Vendor/MSFT_audio_emitter/README.md) * !!! Experimental Extension Subject to Changes !!! */ export declare class MSFT_audio_emitter implements IGLTFLoaderExtension { /** * The name of this extension. */ readonly name = "MSFT_audio_emitter"; /** * Defines whether this extension is enabled. */ enabled: boolean; private _loader; private _clips; private _emitters; /** * @internal */ constructor(loader: GLTFLoader); /** @internal */ dispose(): void; /** @internal */ onLoading(): void; /** * @internal */ loadSceneAsync(context: string, scene: IScene): Nullable>; /** * @internal */ loadNodeAsync(context: string, node: INode, assign: (babylonTransformNode: TransformNode) => void): Nullable>; /** * @internal */ loadAnimationAsync(context: string, animation: IAnimation): Nullable>; private _loadClipAsync; private _loadEmitterAsync; private _getEventAction; private _loadAnimationEventAsync; } /** * Registers the MSFT_audio_emitter glTF loader extension. * Safe to call multiple times; only the first call has an effect. */ export declare function RegisterMSFT_audio_emitter(): void;