import type Artplayer from 'artplayer' interface Option { m3u8?: { quality?: { control?: boolean setting?: boolean title?: string auto?: string getName?: (level: { id: number index: number name: null | string height: number bitrate: number }) => string } audio?: { control?: boolean setting?: boolean title?: string auto?: string getName?: (track: { id: number index: number name: null | string lang: string language: string bitrate: number }) => string } } /** * Timeout for loading media in milliseconds * @default 0 */ loadTimeout?: number /** * Interval for timeupdate events in milliseconds * @default 250 */ timeupdateInterval?: number /** * Audio-video synchronization tolerance in seconds * @default 0.12 */ avSyncTolerance?: number /** * Whether to drop late video frames * @default false */ dropLateFrames?: boolean /** * Poster image URL */ poster?: string /** * Media source (URL, Blob, or ReadableStream) */ source?: string | Blob | ReadableStream /** * Check if server supports range requests before loading * @default false */ preflightRange?: boolean /** * Initial volume (0-1) * @default 0.7 */ volume?: number /** * Initial muted state * @default false */ muted?: boolean /** * Autoplay * @default false */ autoplay?: boolean /** * Loop playback * @default false */ loop?: boolean /** * Cross-origin setting */ crossOrigin?: string } type Result = HTMLCanvasElement declare const artplayerProxyMediabunny: (option?: Option) => (art: Artplayer) => Result export default artplayerProxyMediabunny