/** Core */ import { CoreComponent } from "cmf.core/src/core"; /** Angular2 */ import * as ng from "@angular/core"; /** * Enum to handle native fullscreen states */ export declare enum FullScreenStates { /** * None */ None = 0, /** * Requested, entering fullscreen */ Entering = 1, /** * On fullscreen */ Fullscreen = 2, /** * Exited fullscreen */ Exited = 3 } export declare const EVENT_EXIT_FULLSCREEN: string; export declare const EVENT_ENTER_FULLSCREEN: string; /** * This symbol should be injected in the context of a page bag when the fullscreen is applied to a page (using page switcher) */ export declare const PAGE_IN_FULLSCREEN: unique symbol; export declare class Fullscreen extends CoreComponent implements ng.OnInit, ng.OnDestroy { private _elementRef; /** * Is modal open flag */ private isModalOpen; /** * Target element to fullscreen */ private _targetElement; /** * Exit callback when user exits from fullscreen */ private _exitCallback; /** * Selector that triggers the fullscreen */ private _triggerSelector; /** * Element that triggers the fullscreen */ private _triggerElement; /** * Native fullscreen states */ nativeFullscreenState: FullScreenStates; constructor(_elementRef: ng.ElementRef); /** * When component is initiated - set event */ ngOnInit(): void; /** * On component destruction - remove event and exit fullscreen */ ngOnDestroy(): void; /** * Request browser to go fullscreen mode * @param element element ref * @param exitFunction function to be executed on fullscreen mode exit */ requestFullScreen(element?: ng.ElementRef | Element, exitFunction?: Function, isQueryString?: Boolean): Promise; /** * Request native fullscreen * @param element Element to request the fullscreen */ private requestNativeFullScreen; /** * Exit the fullscreen mode */ exitFullScreen(): void; /** * Exit from native fullscreen */ private exitNativeFullScreen; /** * Get the valid browser API for fullscreen * @param source source * @param apiVersions api method to test */ private getNativeFullscreenApi; /** * Handles the event when the native fullscreen exits */ private onNativeFullScreenExit; private onNavigation; } export declare class FullscreenModule { }