import { Destroyable, OmakaseVttCue } from '../types'; import { Observable, Subject } from 'rxjs'; import { VttLoadOptions } from '../api/vtt-aware-api'; import { OmakaseVttFile } from '../vtt'; export interface VttFileFactory> { create(url: string, options: VttLoadOptions): Observable; } export interface VttAdapterConfig> { vttUrl?: string; vttFile?: T; } export declare class VttAdapter> implements Destroyable { readonly vttFileLoaded$: Subject; private _vttUrl?; private _vttFile?; private _vttFactory; constructor(vttFactory: VttFileFactory); get vttUrl(): string | undefined; get vttFile(): T | undefined; set vttUrl(vttUrl: string | undefined); set vttFile(vttFile: T | undefined); initFromConfig(config: VttAdapterConfig): void; loadVtt(vttUrl: string, options: VttLoadOptions): Observable; private fetchVttFile; destroy(): void; }