import View from './progress.view'; import { IEventEmitter } from '../../../event-emitter/types'; import { ITooltipService } from '../../core/tooltip/types'; import { IProgressControlAPI, IProgressControl } from './types'; import { ITextMap } from '../../../text-map/types'; import { IPlaybackEngine } from '../../../playback-engine/types'; import { IPreviewThumbnail } from '../../preview-thumbnail/types'; import { IPreviewFullSize } from '../../preview-full-size/types'; import { IThemeService } from '../../core/theme'; export declare const UPDATE_PROGRESS_INTERVAL_DELAY: number; declare class ProgressControl implements IProgressControl { static moduleName: string; static View: typeof View; static dependencies: string[]; private _engine; private _liveStateEngine; private _eventEmitter; private _textMap; private _tooltipService; private _theme; private _previewThumbnail; private _previewFullSize; private _isUserDragging; private _shouldPlayAfterDragEnd; private _desiredSeekPosition; private _interceptor; private _updateControlInterval; private _timeIndicatorsToAdd; private _shouldHidePreviewOnUpdate; private _showFullScreenPreview; private _unbindEvents; view: View; isHidden: boolean; constructor({ engine, liveStateEngine, eventEmitter, textMap, tooltipService, theme, previewThumbnail, previewFullSize, }: { eventEmitter: IEventEmitter; engine: IPlaybackEngine; liveStateEngine: any; textMap: ITextMap; tooltipService: ITooltipService; theme: IThemeService; previewThumbnail: IPreviewThumbnail; previewFullSize: IPreviewFullSize; }); getElement(): HTMLElement; private _bindEvents; private _initUI; private _initInterceptor; private _destroyInterceptor; private _bindCallbacks; private _startIntervalUpdates; private _stopIntervalUpdates; private _convertPlayedPercentToTime; private _onChangePlayedPercent; private _showTooltipAndPreview; private _hideTooltip; private _startProcessingUserDrag; private _stopProcessingUserDrag; private _hidePreview; private _processStateChange; private _processLiveStateChange; private _changeCurrentTimeOfVideo; private _pauseVideoOnDragStart; private _playVideoOnDragEnd; private _updateBufferIndicator; private _updatePlayedIndicator; private _updateAllIndicators; private _initTimeIndicators; private _addTimeIndicator; private _syncWithLive; private _onSyncWithLiveMouseEnter; private _onSyncWithLiveMouseLeave; private _setPlayed; private _setBuffered; private _reset; /** * Player will show full screen preview instead of actual seek on video when user drag the progress control * @example * player.showPreviewOnProgressDrag(); */ showPreviewOnProgressDrag(): void; /** * Player will seek on video when user drag the progress control * @example * player.seekOnProgressDrag(); */ seekOnProgressDrag(): void; /** * Add time indicator to progress bar */ addTimeIndicator(time: number): void; /** * Add time indicators to progress bar */ addTimeIndicators(times: number[]): void; /** * Delete all time indicators from progress bar */ clearTimeIndicators(): void; hide(): void; show(): void; destroy(): void; } export { IProgressControlAPI }; export default ProgressControl;