import View from './time.view';
import { IEventEmitter } from '../../../event-emitter/types';
import { IPlaybackEngine } from '../../../playback-engine/types';
import { ITimeControl } from './types';
import { IThemeService } from '../../core/theme';
export declare const UPDATE_TIME_INTERVAL_DELAY: number;
export default class TimeControl implements ITimeControl {
    static moduleName: string;
    static View: typeof View;
    static dependencies: string[];
    private _eventEmitter;
    private _engine;
    private _theme;
    private _updateControlInterval;
    private _unbindEvents;
    view: View;
    isHidden: boolean;
    constructor({ eventEmitter, engine, theme, }: {
        eventEmitter: IEventEmitter;
        engine: IPlaybackEngine;
        theme: IThemeService;
    });
    getElement(): HTMLElement;
    private _bindCallbacks;
    private _bindEvents;
    private _initUI;
    private _startIntervalUpdates;
    private _stopIntervalUpdates;
    private _processLiveStateChange;
    private _toggleIntervalUpdates;
    private _updateDurationTime;
    private _updateCurrentTime;
    private _updateTimeFromPreview;
    private _setDurationTime;
    private _setCurrentTime;
    hide(): void;
    show(): void;
    reset(): void;
    destroy(): void;
}
