import MainUIBlockView from './main-ui-block.view'; import { IMainUIBlockAPI, IMainUIBlock } from './types'; import { IEventEmitter } from '../../event-emitter/types'; import { IBottomBlock } from '../bottom-block/types'; import { ITopBlock } from '../top-block/types'; import { IScreen } from '../screen/types'; import { IPlayerConfig } from '../../../core/config'; import { IRootContainer } from '../../root-container/types'; import { ITooltipService } from '../core/tooltip/tooltip-service'; declare class MainUIBlock implements IMainUIBlock { static moduleName: string; static View: typeof MainUIBlockView; static dependencies: string[]; private _eventEmitter; private _bottomBlock; private _topBlock; private _screen; private _tooltipService; private _hideTimeout; private _isContentShowingEnabled; private _isContentShown; private _shouldShowContent; private _shouldAlwaysShow; private _isDragging; private _config; private _unbindEvents; view: MainUIBlockView; isHidden: boolean; constructor(dependencies: { config: IPlayerConfig; eventEmitter: IEventEmitter; rootContainer: IRootContainer; tooltipService: ITooltipService; topBlock: ITopBlock; bottomBlock: IBottomBlock; screen: IScreen; }); getElement(): HTMLElement; private _initUI; private _bindViewCallbacks; private _bindEvents; private _updatePlayingState; private get _isBlockFocused(); private _startHideBlockTimeout; private _stopHideBlockTimeout; private _tryShowContent; private _onControlDragStart; private _onControlDragEnd; private _showContent; private _tryHideContent; private _hideContent; disableShowingContent(): void; enableShowingContent(): void; /** * Method for hiding main ui * Important! This overrides the effect of `setMainUIShouldAlwaysShow` method * @example * player.hideMainUI(); */ hide(): void; /** * Method for showing main ui in case it was hidden * @example * player.showMainUI(); */ show(): void; /** * Method for allowing main ui to be always shown despite the playback state and the cursor position * Important! UI would be hidden in case `hideMainUI` is called * @param flag - `true` for showing always * @example * player.setMainUIShouldAlwaysShow(true); * */ setShouldAlwaysShow(flag: boolean): void; destroy(): void; } export { IMainUIBlockAPI }; export default MainUIBlock;