/** * Audio state interface */ export type AudioState = { playing: boolean; paused: boolean; ended: boolean; duration: number; currentTime: number; volume: number; muted: boolean; loading: boolean; error: string | null; }; /** * Audio controls interface */ export type AudioControls = { play: () => Promise; pause: () => void; toggle: () => Promise; seek: (time: number) => void; setVolume: (volume: number) => void; mute: () => void; unmute: () => void; toggleMute: () => void; }; /** * Hook that plays audio and exposes its controls * * @param src - Audio source URL * @param options - Audio options * @returns Audio state and controls * * @example * ```tsx * const { playing, duration, currentTime, play, pause, seek } = useAudio('/audio.mp3'); * * return ( *
* * seek(Number(e.target.value))} * /> *
* ); * ``` */ export declare function useAudio(source: string, options?: { autoPlay?: boolean; loop?: boolean; volume?: number; muted?: boolean; }): AudioState & AudioControls; //# sourceMappingURL=useAudio.d.ts.map