import View from './overlay.view';
import { IOverlayAPI, IOverlay } from './types';
import { IEventEmitter } from '../../event-emitter/types';
import { IPlaybackEngine } from '../../playback-engine/types';
import { IThemeService } from '../core/theme';
import { IRootContainer } from '../../root-container/types';
import { IPlayerConfig } from '../../../core/config';
import { IMainUIBlock } from '../main-ui-block/types';
import { ILoader } from '../loader/types';
declare class Overlay implements IOverlay {
    static moduleName: string;
    static View: typeof View;
    static dependencies: string[];
    private _eventEmitter;
    private _engine;
    private _theme;
    private _loader;
    private _unbindEvents;
    private _mainUIBlock;
    view: View;
    isHidden: boolean;
    constructor({ eventEmitter, engine, rootContainer, theme, config, mainUIBlock, loader, }: {
        eventEmitter: IEventEmitter;
        engine: IPlaybackEngine;
        rootContainer: IRootContainer;
        theme: IThemeService;
        config: IPlayerConfig;
        mainUIBlock: IMainUIBlock;
        loader: ILoader;
    });
    getElement(): HTMLElement;
    private _initUI;
    private _bindEvents;
    private _updatePlayingState;
    private _playVideo;
    private _tryShowContent;
    private _tryHideContent;
    private _hideContent;
    private _showContent;
    /**
     * Method for completely hiding player overlay. It's not gonna appear on initial state of player and when video is ended.
     * @example
     * player.showOverlay();
     */
    hide(): void;
    /**
     * Method for showing player overlay after it was completely hidden with `player.hideOverlay()`.
     * @example
     * player.showOverlay();
     */
    show(): void;
    /**
     * Method for setting overlay poster
     * @param src - Source of image
     * @example
     * player.setPoster('https://example.com/poster.png');
     *
     */
    setPoster(src: string): void;
    /**
     * After initialisation player has by default an overlay that is black;
     *
     * The `.turnOnOverlayTransparency()` method makes this overlay transparent.
     * @example
     * player.turnOnOverlayTransparency();
     *
     */
    turnOnOverlayTransparency(): void;
    /**
     * The `.turnOffOverlayTransparency()` method returns player's overlay to default settings.
     * It becomes black again.
     *
     * @example
     * player.turnOffOverlayTransparency();
     *
     */
    turnOffOverlayTransparency(): void;
    destroy(): void;
}
export { IOverlayAPI };
export default Overlay;
