import { MarkerApi, MarkerListApi } from '../api'; import { VideoControllerApi } from '../video'; import { MarkerListMode } from './marker-list-component'; import { MarkerVttFile, ThumbnailVttFile } from '../vtt'; import { MarkerAwareApi } from '../api/marker-aware-api'; import { Subject } from 'rxjs'; import { VttLoadOptions } from '../api/vtt-aware-api'; import { Destroyable, MarkerCreateEvent, MarkerDeleteEvent, MarkerInitEvent, MarkerListActionEvent, MarkerListClickEvent, MarkerSelectedEvent, MarkerUpdateEvent, MarkerVttCue } from '../types'; import { MarkerListItem } from './marker-list-item'; export interface MarkerListConfig { markerListHTMLElementId: string; templateHTMLElementId?: string; headerHTMLElementId?: string; emptyHTMLElementId?: string; loadingHTMLElementId?: string; styleUrl?: string | string[]; thumbnailVttFile?: ThumbnailVttFile; thumbnailVttUrl?: string; vttUrl?: string; vttLoadOptions?: VttLoadOptions; vttMarkerCreateFn?: (marker: MarkerVttCue, index: number) => MarkerListItem; thumbnailFn?: (time: number) => string | undefined; timeEditable?: boolean; nameEditable?: boolean; nameOptions?: string[]; nameValidationFn?: (name: string) => boolean; source?: MarkerAwareApi | MarkerAwareApi[]; mode?: MarkerListMode; } export declare class MarkerList implements Destroyable, MarkerListApi { onVttLoaded$: Subject; onMarkerAction$: Subject; onMarkerClick$: Subject; onMarkerInit$: Subject; onMarkerCreate$: Subject; onMarkerDelete$: Subject; onMarkerUpdate$: Subject; onMarkerSelected$: Subject; private _markerListDomController; private _markerListComponent; private _config; private _sources; private _thumbnailVttFile?; private _thumbnailVttUrl?; private _thumbnailVttAdapter; private _markerVttAdapter; private _lastActiveMarker?; private readonly _destroyed$; constructor(config: MarkerListConfig, videoController: VideoControllerApi); get name(): string; getMarkers(): MarkerApi[]; get config(): MarkerListConfig; get thumbnailVttFile(): ThumbnailVttFile | undefined; set thumbnailVttFile(thumbnailVttFile: ThumbnailVttFile | undefined); get thumbnailVttUrl(): string | undefined; set thumbnailVttUrl(thumbnailVttUrl: string | undefined); addMarker(createData: Partial, source?: MarkerAwareApi, index?: number): MarkerApi; updateMarker(id: string, updateValue: Partial): void; removeMarker(id: string): void; removeAllMarkers(): void; toggleMarker(id: string): void; getSelectedMarker(): MarkerApi | undefined; reorderMarker(id: string, index: number): void; destroy(): void; private getMarkerItem; private addSourceListeners; private addMarkerToComponent; private resolveThumbnail; private createDefaultMarker; }