import { ChunkedStreamingStatistics } from './StreamTypes'; export interface IHlsPlayerType { media: HTMLVideoElement; streamController: { state: 'STOPPED' | 'STARTING' | 'IDLE' | 'PAUSED' | 'KEY_LOADING' | 'FRAG_LOADING' | 'FRAG_LOADING_WAITING_RETRY' | 'WAITING_TRACK' | 'PARSING' | 'PARSED' | 'BUFFER_FLUSHING' | 'ENDED' | 'ERROR' | 'WAITING_INIT_PTS' | 'WAITING_LEVEL'; }; HlsPlayer(): void; isSupported(): boolean; destroy(): void; loadSource: (url: string) => void; attachMedia: (videoElement: HTMLVideoElement) => void; Events: { FRAG_BUFFERED: string; VIDEO_TRACK_LOADED: string; FRAG_LOADED: string; }; } export type HlsPlayerConfig = { enableWorker: boolean; maxBufferLength: number; backBufferLength: number; liveSyncDuration: number; liveMaxLatencyDuration: number; liveDurationInfinity: boolean; highBufferWatchdogPeriod: number; }; export type HlsPlayerType = { new (config: HlsPlayerConfig): IHlsPlayerType; isSupported(): boolean; loadSource: (url: string) => void; attachMedia: (videoElement: HTMLVideoElement) => void; dispose(): void; destroy(): void; getStats(): ChunkedStreamingStatistics; };