import { ChunkedStreamingStatistics } from './StreamTypes'; import { ILogger } from '../../logger/LoggerInterface'; type WebPlayerEvent = { code: number; severity: number; error: string; }; type EventListenerForWebPlayer = (event: WebPlayerEvent) => void; export interface IWebPlayerConstructable { new (logger: ILogger, videoElement: HTMLVideoElement, playerOptions: { preferNative?: boolean; originStartTime: number; lag: number; bandwidthToStartAt: number; }): T; } export interface IWebPlayer { WebPlayer: IWebPlayerConstructable; start: (url: string) => void; addEventListener(name: string, listener: EventListenerForWebPlayer): void; dispose(): void; isSupported: boolean; errors: { severity: { RECOVERABLE: number; }; }; getStats(): ChunkedStreamingStatistics; } export type WebPlayerType = { WebPlayer: IWebPlayerConstructable; isSupported: boolean; errors: { severity: { RECOVERABLE: number; }; }; }; export {};