import { AfterViewInit, ElementRef, EventEmitter, OnDestroy, OnInit, Renderer2 } from '@angular/core';
import { Observable } from 'rxjs';
import { FullscreenMode } from './fullscreen.type';
import * as i0 from "@angular/core";
export declare class FullscreenComponent implements OnInit, OnDestroy, AfterViewInit {
    private doc;
    private elementRef;
    private render;
    mode: FullscreenMode;
    zIndex: number;
    /**
     * @deprecated
     */
    target: HTMLElement;
    container: HTMLElement;
    beforeChange: (isFullscreen: boolean, trigger: string) => boolean | Promise<boolean> | Observable<boolean>;
    fullscreenLaunch: EventEmitter<any>;
    document: Document;
    private currentTarget;
    private isFullscreen;
    constructor(doc: any, elementRef: ElementRef, render: Renderer2);
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    private launchNormalFullscreen;
    private exitNormalFullscreen;
    private launchImmersiveFullScreen;
    private exitImmersiveFullScreen;
    private canChange;
    private beforeChangeCheck;
    private onFullScreenChange;
    handleFullscreen: () => void;
    normalFullscreenCallback(fullscreen: boolean, targetElement: HTMLElement): boolean;
    immersiveFullScreenCallback(fullscreen: boolean, targetElement: HTMLElement): Promise<any>;
    private handleKeyDown;
    private addFullScreenStyle;
    private removeFullScreenStyle;
    static ɵfac: i0.ɵɵFactoryDeclaration<FullscreenComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<FullscreenComponent, "d-fullscreen", never, { "mode": { "alias": "mode"; "required": false; }; "zIndex": { "alias": "zIndex"; "required": false; }; "target": { "alias": "target"; "required": false; }; "container": { "alias": "container"; "required": false; }; "beforeChange": { "alias": "beforeChange"; "required": false; }; }, { "fullscreenLaunch": "fullscreenLaunch"; }, never, ["[fullscreen-launch]", "[fullscreen-target]"], false, never>;
}
