import type { PerspectiveCamera } from 'three'; /** * Decodes first-order ambisonic (FOA) AmbiX audio to binaural stereo. * * Uses Omnitone (Google Chrome Labs) for spatial audio decoding. * The soundfield rotation is updated each frame from the Three.js camera's * world matrix, keeping audio orientation in sync with the visual scene. * * Audio graph: * MediaElementSource → FOARenderer.input → FOARenderer.output → AudioContext.destination */ export declare class AmbisonicRenderer { private foaRenderer; private context; private rotationMatrix; /** * Initialize the FOA decoder and connect the audio graph. * * @param context - The AudioContext * @param sourceNode - MediaElementAudioSourceNode from the video element */ init(context: AudioContext, sourceNode: MediaElementAudioSourceNode): Promise; /** * Update the soundfield rotation from the camera's world matrix. * Called each frame from the renderer tick loop. */ updateOrientation(camera: PerspectiveCamera): void; /** Dispose audio resources */ dispose(): void; /** * Dynamically import Omnitone. * Falls back to window.Omnitone if a CDN script tag is used. */ private loadOmnitone; } //# sourceMappingURL=ambisonic-renderer.d.ts.map