import View from './root-container.view';
import { IEventEmitter } from '../event-emitter/types';
import { IRootContainer, IRootContainerAPI } from './types';
import { IPlayerConfig } from '../../core/config';
declare class RootContainer implements IRootContainer {
    static moduleName: string;
    static dependencies: string[];
    private _eventEmitter;
    private _elementQueries;
    private _resizeObserver;
    private _disengageFocusWithin;
    private _disengageFocusSource;
    private _unbindEvents;
    view: View;
    isHidden: boolean;
    constructor({ eventEmitter, config, }: {
        config: IPlayerConfig;
        eventEmitter: IEventEmitter;
    });
    /**
     * Getter for DOM element with player UI
     * (use it only for debug, if you need attach player to your document use `attachToElement` method)
     */
    getElement(): HTMLElement;
    private _bindCallbacks;
    private _bindEvents;
    private _initUI;
    appendComponentElement(element: HTMLElement): void;
    private _broadcastMouseEnter;
    private _broadcastMouseMove;
    private _broadcastMouseLeave;
    private _broadcastFocusEnter;
    private _broadcastFocusLeave;
    private _enableFocusInterceptors;
    private _disableFocusInterceptors;
    private _onResized;
    /**
     * Method for attaching player node to your container
     *
     * @example
     * document.addEventListener('DOMContentLoaded', function() {
     *   const config = { src: 'http://my-url/video.mp4' }
     *   const player = Playable.create(config);
     *
     *   player.attachToElement(document.getElementById('content'));
     * });
     */
    attachToElement(element: Element): void;
    /**
     * Method for setting width of player
     * @param width - Desired width of player in pixels
     * @example
     * player.setWidth(400);
     */
    setWidth(width: number): void;
    /**
     * Return current width of player in pixels
     * @example
     * player.getWidth(); // 400
     */
    getWidth(): number;
    /**
     * Method for setting width of player
     * @param height - Desired height of player in pixels
     * @example
     * player.setHeight(225);
     */
    setHeight(height: number): void;
    /**
     * Return current height of player in pixels
     * @example
     * player.getHeight(); // 225
     */
    getHeight(): number;
    /**
     * Method for allowing player fill all available space
     * @param flag - `true` for allowing
     * @example
     * player.setFillAllSpace(true);
     */
    setFillAllSpace(flag: boolean): void;
    /**
     * Method for allowing player rtl direction
     * @param rtl - `true` for allowing
     * @example
     * player.setRtl(boolean);
     */
    setRtl(rtl: boolean): void;
    /**
     * Hide whole ui
     * @example
     * player.hide();
     */
    hide(): void;
    /**
     * Show whole ui
     * @example
     * player.show();
     */
    show(): void;
    destroy(): void;
}
export { IRootContainerAPI };
export default RootContainer;
