//#region src/main/private/customHowler/Html5Sound.d.ts
/**
* 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;
}
//#endregion
export { Html5Sound };