import { BehaviorSubject, Observable, Subject } from 'rxjs'; import { MomentMarker, PeriodMarker } from '../timeline'; import { MarkerTrackApi } from '../api/marker-track-api'; import { MarkerCreateEvent, MarkerDeleteEvent, MarkerInitEvent, MarkerSelectedEvent, MarkerUpdateEvent } from '../types'; import { MarkerVttFile } from '../vtt'; import { MarkerApi } from '../api'; export declare class OmakaseMarkerTrack extends HTMLElement implements MarkerTrackApi { private _container?; private _uuid?; private _destroyed$; private _draggingPointMarker?; private _draggingPeriodMarker?; private _draggingPeriodMarkerEnd?; private _markerMoved; private _markerDragStartTime?; private _markerDragDelay; private _markers; private _selectedMarker?; private _mouseupListener?; private _mousemoveListener?; private _resizeObserver; onShow$: Subject; onHide$: Subject; onMarkerInit$: Subject; onMarkerCreate$: Subject; onMarkerDelete$: Subject; onMarkerUpdate$: Subject; onMarkerSelected$: Subject; onVttLoaded$: BehaviorSubject; get mediaDuration(): number; set mediaDuration(duration: number); get name(): string; get uuid(): string | undefined; set uuid(uuid: string | undefined); get onDestroy$(): Observable; connectedCallback(): void; disconnectedCallback(): void; getMarkers(): MarkerApi[]; getSelectedMarker(): MarkerApi | undefined; addMarker(marker: Partial): MomentMarker | PeriodMarker; removeMarker(id: string): void; removeAllMarkers(): void; updateMarker(id: string, data: Partial): void; toggleMarker(id: string): void; destroy(): void; isVisible(): boolean; toggleVisibility(): void; hide(): void; show(): void; private focusMarker; private unfocusMarkers; private isMomentMarker; private isPeriodMarker; private addMomentMarker; private addPeriodMarker; private clearDraggingMarker; private moveDraggingMarker; private getDraggingPointMarkerTime; private getDraggingPeriodMarkerTime; private updateMarkerPosition; private updateMarkerColor; private updateMarkerSize; }