import { IFullScreenAPI, IFullScreenManager } from './types'; import { IEventEmitter } from '../event-emitter/types'; import { IPlaybackEngine } from '../playback-engine/types'; import { IPlayerConfig } from '../../core/config'; import { IRootContainer } from '../root-container/types'; declare class FullScreenManager implements IFullScreenManager { static moduleName: string; static dependencies: string[]; private _eventEmitter; private _engine; private _helper; private _element; private _exitFullScreenOnEnd; private _enterFullScreenOnPlay; private _exitFullScreenOnPause; private _pauseVideoOnFullScreenExit; private _isEnabled; private _unbindEvents; constructor({ eventEmitter, engine, rootContainer, config, }: { engine: IPlaybackEngine; eventEmitter: IEventEmitter; rootContainer: IRootContainer; config: IPlayerConfig; }); private _onChange; private _bindEvents; private _exitOnEnd; private _enterOnPlayRequested; private _exitOnPauseRequested; private _processNextStateFromEngine; /** * Allow player try to exit full screen on pause * @example * player.play(); * player.enableExitFullScreenOnPause(); * player.enterFullScreen(); * console.log(player.isInFullScreen) // true * player.pause(); * console.log(player.isInFullScreen) // false */ enableExitFullScreenOnPause(): void; /** * Disallow player to exit full screen on pause * @example * player.play(); * player.disableExitFullScreenOnPause(); * player.enterFullScreen(); * console.log(player.isInFullScreen) // true * player.pause(); * console.log(player.isInFullScreen) // true */ disableExitFullScreenOnPause(): void; /** * Allow player try to exit full screen on end * @example * player.play(); * player.enableExitFullScreenOnEnd(); * player.enterFullScreen(); * console.log(player.isInFullScreen) // true * console.log(player.isEnded); // true * console.log(player.isInFullScreen) // false */ enableExitFullScreenOnEnd(): void; /** * Disallow player try to exit full screen on end * @example * player.play(); * player.disableExitFullScreenOnEnd(); * player.enterFullScreen(); * console.log(player.isInFullScreen) // true * console.log(player.isEnded); // true * console.log(player.isInFullScreen) // true */ disableExitFullScreenOnEnd(): void; /** * Allow player try to exit full screen on end * @example * player.enableEnterFullScreenOnPlay(); * console.log(player.isInFullScreen) // false * player.play(); * console.log(player.isInFullScreen) // true */ enableEnterFullScreenOnPlay(): void; /** * Disallow player try to exit full screen on end * @example * player.disableEnterFullScreenOnPlay(); * console.log(player.isInFullScreen) // false * player.play(); * console.log(player.isInFullScreen) // false */ disableEnterFullScreenOnPlay(): void; /** * Allow player try to exit full screen on end * @example * player.play(); * player.enablePauseVideoOnFullScreenExit(); * player.enterFullScreen(); * console.log(player.isInFullScreen) // true * player.pause(); * console.log(player.isInFullScreen) // false */ enablePauseVideoOnFullScreenExit(): void; /** * Disallow player try to exit full screen on end * @example * player.play(); * player.enablePauseVideoOnFullScreenExit(); * player.enterFullScreen(); * console.log(player.isInFullScreen) // true * player.pause(); * console.log(player.isInFullScreen) // true */ disablePauseVideoOnFullScreenExit(): void; /** * Player would try to enter fullscreen mode. * Behavior of fullscreen mode on different platforms may differ. * @example * player.enterFullScreen(); */ enterFullScreen(): void; /** * Player would try to exit fullscreen mode. * @example * player.exitFullScreen(); */ exitFullScreen(): void; /** * Return true if player is in full screen * @example * console.log(player.isInFullScreen); // false */ get isInFullScreen(): boolean; get isEnabled(): boolean; destroy(): void; } export { IFullScreenAPI }; export default FullScreenManager;