export interface AudioOptions { autoPlay?: boolean; } export interface AudioState { audioRef: React.RefObject; playing: boolean; currentTime: number; duration: number; volume: number; muted: boolean; play: () => Promise; pause: () => void; stop: () => void; seek: (time: number) => void; setVolume: (volume: number) => void; setMuted: (muted: boolean) => void; load: (src: string) => void; } /** * A hook that provides full control over HTML5 audio playback. * @param src Initial audio source URL * @param opts Configuration options * @returns Object containing audio state and control functions * * @example * const { audioRef, playing, play, pause, currentTime, duration } = useAudio('/audio.mp3'); * * return ( *
*
* ); */ export declare function useAudio(src?: string, opts?: AudioOptions): AudioState;