import { AnyFunction, Splide } from '@splidejs/splide';
/**
 * The class for the UI of the video player.
 *
 * @since 0.5.0
 */
export declare class PlayerUI {
    /**
     * The Splide instance.
     */
    private Splide;
    /**
     * The slide element.
     */
    private readonly slide;
    /**
     * The parent element of the video, which may be the slide or the container element.
     */
    private readonly parent;
    /**
     * Holds the container element if available.
     */
    private readonly container;
    /**
     * The EventBus object.
     */
    private readonly event;
    /**
     * Indicates whether the UI is disabled or not.
     */
    private disabled;
    /**
     * The wrapper element that contains the wrapper and the play button.
     */
    private video;
    /**
     * The wrapper element that contains the video.
     */
    private wrapper;
    /**
     * The placeholder element.
     * - YouTube  : Will replace this element by an iframe
     * - Vimeo    : Will append an iframe to this
     * - HTMLVideo: Will append an video element to this
     */
    private placeholder;
    /**
     * The button element for play.
     */
    private playButton;
    /**
     * The PlayerUI constructor.
     *
     * @param Splide - A Splide instance.
     * @param slide  - A slide element where the player is mounted.
     */
    constructor(Splide: Splide, slide: HTMLElement);
    /**
     * Initializes the instance.
     */
    private init;
    /**
     * Creates wrapper, placeholder and button elements.
     * Make sure that the button element must be rendered before the wrapper for the proper focus order.
     */
    private create;
    /**
     * Listens to some events.
     */
    private listen;
    /**
     * Toggles the play button.
     *
     * @param show - Determines whether to show or hide the button.
     */
    private toggleButton;
    /**
     * Toggles the wrapper element.
     *
     * @param show - Determines whether to show or hide the button.
     */
    private toggleWrapper;
    /**
     * Returns the placeholder element.
     */
    getPlaceholder(): HTMLDivElement;
    /**
     * Hides UI and displays the video.
     */
    hide(): void;
    /**
     * Displays UI and hides the video.
     */
    show(): void;
    /**
     * Disables UI (the play button) displays on the slide.
     *
     * @param disabled - Determines whether to disable UI or not.
     */
    disable(disabled: boolean): void;
    /**
     * Attaches an event handler.
     *
     * @param events   - An event or events.
     * @param callback - A callback function.
     */
    on(events: string | string[], callback: AnyFunction): void;
    /**
     * Destroys the instance.
     */
    destroy(): void;
}
//# sourceMappingURL=../../../src/js/classes/PlayerUI.d.ts.map