/// /** * Wrapper for HTML5 audio element with state tracking (similar to Howler.js Sound) * Tracks paused, ended, and seek position independently from element state * @private */ declare class Html5Sound { node: HTMLAudioElement; _paused: boolean; _ended: boolean; _seek: number; private onEndedHandler; private onPauseHandler; private onPlayHandler; private onInactive?; constructor(src: string, onInactive?: (sound: Html5Sound) => void); /** * Handle natural playback completion * @private */ private onEnded; /** * Track pause events * @private */ private onPause; /** * Track play events * @private */ private onPlay; /** * Start playback from the beginning, deferred to the next animation frame. * Deferring avoids blocking the main thread (critical for smooth overlay * rendering during continuous scanning on iOS). */ play(): void; /** * Pause playback and preserve current position */ pause(): void; /** * Stop playback and reset to beginning */ stop(): void; /** * Clean up event listeners (for disposal) */ dispose(): void; } export { Html5Sound };