import { Observable } from 'rxjs'; import { MarkerVttFile, ThumbnailVttFile } from '../vtt'; import { MarkerListActionEvent, MarkerListClickEvent, MarkerListSelectedEvent } from '../types'; import { MarkerAwareApi } from './marker-aware-api'; import { MarkerApi } from './marker-api'; export interface MarkerListApi extends MarkerAwareApi { /** * Fires after VTT file defined in the config is loaded */ onVttLoaded$: Observable; /** * Fires after a custom action element is clicked */ onMarkerAction$: Observable; /** * Fires after a marker list item row is clicked */ onMarkerClick$: Observable; /** * Fires after a marker list item is toggled on or off */ onMarkerSelected$: Observable; /** * VTT file for generating thumbnail images */ get thumbnailVttFile(): ThumbnailVttFile | undefined; set thumbnailVttFile(thumbnailVttFile: ThumbnailVttFile | undefined); /** * Get currently active marker on the list */ getSelectedMarker(): MarkerApi | undefined; /** * Reorder a marker to the new position in a list */ reorderMarker(id: string, index: number): void; /** * Destroys Marker List and cleans up resources */ destroy(): void; }