import { Observable, Subject } from 'rxjs'; import { DownsampleConfig, VttAwareApi, VttLoadOptions } from '../api/vtt-aware-api'; import { OmakaseVttCue, OmakaseVttCueEvent } from '../types'; import { BaseTimelineLane, TimelineLaneConfig, TimelineLaneStyle } from './timeline-lane'; import { VttAdapter } from '../common/vtt-adapter'; import { AxiosRequestConfig } from 'axios'; import { OmakaseVttFile } from '../vtt'; import Konva from 'konva'; export interface VttTimelineLaneConfig extends TimelineLaneConfig, Partial { loadingAnimationEnabled?: boolean; } export declare abstract class VttTimelineLane, S extends TimelineLaneStyle, Q extends OmakaseVttCue, T extends OmakaseVttFile> extends BaseTimelineLane implements VttAwareApi { protected abstract readonly _vttAdapter: VttAdapter; protected _onVideoCueEvent$?: Observable>; protected _onPlayheadCueEvent$?: Observable>; protected _onScrubberCueEvent$?: Observable>; protected readonly _onSettleLayout$: Subject; protected readonly _isVttLoading$: Subject; protected readonly _isVttFinishedLoading$: Subject; protected _timecodedGroup?: Konva.Group; protected _loadingGroup?: Konva.Group; protected _loadingAnimation?: Konva.Animation; constructor(config: C); get onVttFileLoaded$(): Observable; get onVideoCueEvent$(): Observable>; get onPlayheadCueEvent$(): Observable>; get onScrubberCueEvent$(): Observable>; get vttUrl(): string | undefined; get vttFile(): T | undefined; set vttUrl(vttUrl: string | undefined); set vttFile(vttFile: T | undefined); loadVtt(vttUrl: string, options?: VttLoadOptions): Observable; getVttLoadOptions(axiosConfig?: AxiosRequestConfig): VttLoadOptions; protected createLoadingGroup(): Konva.Group; protected createLoadingGroupObjects(): Array; protected createLoadingAnimation(): Konva.Animation; protected startLoadingAnimation(): void; protected stopLoadingAnimation(): void; protected resolveLoadingAnimationColor(): string; private getCueEvents; destroy(): void; }