/** * Video state interface */ export type VideoState = { playing: boolean; paused: boolean; ended: boolean; duration: number; currentTime: number; volume: number; muted: boolean; loading: boolean; error: string | null; buffered: TimeRanges | null; played: TimeRanges | null; seekable: TimeRanges | null; }; /** * Video controls interface */ export type VideoControls = { play: () => Promise; pause: () => void; toggle: () => Promise; seek: (time: number) => void; setVolume: (volume: number) => void; mute: () => void; unmute: () => void; toggleMute: () => void; fullscreen: () => Promise; }; /** * Hook that plays video, tracks its state, and exposes playback controls * * @param src - Video source URL * @param options - Video options * @returns Video state and controls * * @example * ```tsx * const { playing, duration, currentTime, play, pause, seek } = useVideo('/video.mp4'); * * return ( *
*
* ); * ``` */ export declare function useVideo(source: string, options?: { autoPlay?: boolean; loop?: boolean; volume?: number; muted?: boolean; controls?: boolean; }): VideoState & VideoControls; //# sourceMappingURL=useVideo.d.ts.map