/** @component lightbox */
import { ElementRef, OnDestroy, OnInit } from '@angular/core';
import { Subject } from 'rxjs';
import { LightboxConfig, LightboxInfo, LightboxPage, LightboxTooltips } from './lightbox-config';
export declare class LightboxComponent implements OnInit, OnDestroy {
    private _config;
    decrypting: boolean;
    downloading: boolean;
    height: number;
    index: number;
    info: LightboxInfo;
    math: Math;
    name: string;
    pages: Array<LightboxPage>;
    tooltips: LightboxTooltips;
    viewportDimensions: {
        width: number;
        height: number;
    };
    width: number;
    zoom: number;
    readonly _onDestroy: Subject<any>;
    private _document;
    headerRef: ElementRef;
    viewportRef: ElementRef;
    readonly currentPage: LightboxPage;
    readonly controlStyle: {
        visibility: string;
    } | {
        visibility?: undefined;
    };
    readonly thumbnailDecryptingStyle: {
        height: number;
    };
    readonly viewportStyle: {
        width: string;
        height: string;
    } | {
        width?: undefined;
        height?: undefined;
    };
    readonly config: LightboxConfig;
    constructor(_config: LightboxConfig, _document: any);
    ngOnInit(): void;
    ngOnDestroy(): void;
    handleResize: () => void;
    handleKeydown: (e: KeyboardEvent) => void;
    handleThumbnailClick(index: number): void;
    triggerPageChange(index: number, e: MouseEvent | KeyboardEvent): void;
    stopPropagation(e: MouseEvent | KeyboardEvent): void;
    setZoom(increment: number): void;
    handleDownload(): void;
    handleKeypress(e: KeyboardEvent, type: string, param?: any): void;
    destroy(): void;
}
