import * as React from 'react'; import { type MediaState } from './mediaStore.js'; export type { MediaState, MediaError, MediaTextTrack } from './mediaStore.js'; export interface MediaSessionMetadataInit { title?: string; artist?: string; album?: string; artwork?: { src: string; sizes?: string; type?: string; }[]; } export interface UseMediaElementOptions { /** Sample the bound element for tone once per (src, region). */ sampleTone?: boolean | undefined; /** Media Session metadata; false (default) leaves the session untouched. */ mediaSession?: MediaSessionMetadataInit | false | undefined; /** Snapshot publishes/sec during timeupdate; 1–15, default 4. */ snapshotHz?: number | undefined; } export interface MediaHandle { state: MediaState; play(): Promise; pause(): void; toggle(): void; seek(seconds: number): void; seekBy(delta: number): void; setVolume(v: number): void; setMuted(m: boolean): void; setRate(r: number): void; requestPictureInPicture(): void; requestFullscreen(target?: Element | null): void; /** Set a text track's mode by MediaTextTrack id (REQ-SURF-134 captions). */ setTextTrackMode(id: string, mode: TextTrackMode): void; } export declare function useMediaElement(ref: React.RefObject, options?: UseMediaElementOptions): MediaHandle; //# sourceMappingURL=useMediaElement.d.ts.map