import EventEmitter from '../util/EventEmitter'; export interface IBaseTechOptions { video: HTMLVideoElement; src: string; } export interface ITrack { id: string; label: string; language: string; enabled: boolean; } export declare enum PlaybackState { IDLE = 0, LOADING = 1, READY = 2, PLAYING = 3, PAUSED = 4, SEEKING = 5, BUFFERING = 6, BITRATE_CHANGE = 7, PLAYER_STOPPED = 8 } export interface IVideoLevel { id: any; width: number; height: number; bitrate: number; } export interface IPlayerState { playbackState: PlaybackState; currentTime: number; duration: number; isLive: boolean; isAtLiveEdge: boolean; isSeekable: boolean; isMuted: boolean; audioTracks: ITrack[]; textTracks: ITrack[]; volume: number; } export declare function getTextTrackId(textTrack: any): string; export default class BaseTech extends EventEmitter { name: string; protected video: HTMLVideoElement; protected state: IPlayerState; constructor({ video }: { video: HTMLVideoElement; }); protected updateState(state: Partial): void; protected onLoadedData(): void; protected onPlay(): void; protected onPause(): void; protected onPlaying(): void; protected onTimeUpdate(): void; protected onWaiting(): void; protected onSeeking(): void; protected onSeeked(): void; protected onVolumeChange(): void; protected onAudioTrackChange(): void; protected onTextTrackChange(): void; protected onEnded(): void; protected onBitrateChange(): void; set currentLevel(level: IVideoLevel); get currentLevel(): IVideoLevel; get isPlaying(): boolean; get isMuted(): boolean; get isLive(): boolean; get duration(): number; get currentTime(): number; set currentTime(newpos: number); get audioTrack(): string; set audioTrack(id: string); get audioTracks(): ITrack[]; get textTrack(): string; set textTrack(id: string); get textTracks(): ITrack[]; get volume(): number; set volume(newvol: number); play(): Promise; pause(): void; mute(): void; unmute(): void; load(src: string): Promise; setDefaultState(defaultState?: Partial): void; stop(): void; seekToLive(): void; getVideoLevels(): IVideoLevel[]; destroy(): void; }