import * as i0 from '@angular/core'; import { OnInit, OnDestroy, DoCheck, ElementRef, EventEmitter, QueryList, ChangeDetectorRef, AfterContentInit } from '@angular/core'; import { Subscription, Observable, Subject } from 'rxjs'; import * as i4 from '@angular/common'; declare class VgCuePointsDirective implements OnInit, OnDestroy, DoCheck { ref: ElementRef; onEnterCuePoint: EventEmitter; onUpdateCuePoint: EventEmitter; onExitCuePoint: EventEmitter; onCompleteCuePoint: EventEmitter; subscriptions: Subscription[]; cuesSubscriptions: Subscription[]; onLoad$: Observable; onEnter$: Observable; onExit$: Observable; totalCues: number; constructor(ref: ElementRef); ngOnInit(): void; onLoad(event: any): void; updateCuePoints(cues: TextTrackCue[]): void; onEnter(event: any): void; onExit(event: any): void; ngDoCheck(): void; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } interface IPlayable { id: string; elem: any; time: any; buffer: any; track?: any; canPlay: boolean; canPlayThrough: boolean; isMetadataLoaded: boolean; isWaiting: boolean; isCompleted: boolean; isLive: boolean; textTracks: TextTrackList; state: string; subscriptions: IMediaSubscriptions; duration: number; currentTime: number; play: Function; pause: Function; addTextTrack?: Function; dispatchEvent?: Function; } interface IMediaSubscriptions { abort: Observable; bufferDetected: Subject; canPlay: Observable; canPlayThrough: Observable; durationChange: Observable; emptied: Observable; encrypted: Observable; ended: Observable; error: Observable; loadedData: Observable; loadedMetadata: Observable; loadStart: Observable; pause: Observable; play: Observable; playing: Observable; progress: Observable; rateChange: Observable; seeked: Observable; seeking: Observable; stalled: Observable; suspend: Observable; timeUpdate: Observable; volumeChange: Observable; waiting: Observable; startAds: Observable; endAds: Observable; } interface MSMediaKeyNeededEvent extends Event { readonly initData: Uint8Array | null; } interface AudioTrack { enabled: boolean; readonly id: string; kind: string; readonly label: string; language: string; readonly sourceBuffer: SourceBuffer | null; } interface AudioTrackListEventMap { addtrack: TrackEvent; change: Event; removetrack: TrackEvent; } /** Used to represent a list of the audio tracks contained within a given HTML media element, with each track represented by a separate AudioTrack object in the list. */ interface AudioTrackList extends EventTarget { readonly length: number; onaddtrack: ((this: AudioTrackList, ev: TrackEvent) => any) | null; onchange: ((this: AudioTrackList, ev: Event) => any) | null; onremovetrack: ((this: AudioTrackList, ev: TrackEvent) => any) | null; getTrackById(id: string): AudioTrack | null; item(index: number): AudioTrack; addEventListener(type: K, listener: (this: AudioTrackList, ev: AudioTrackListEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: AudioTrackList, ev: AudioTrackListEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; [index: number]: AudioTrack; } /** A single video track from a