import { Renderer2, EventEmitter, ElementRef } from '@angular/core';
import { CloseEvent } from '@true-directive/base';
export declare class PopupComponent {
    elementRef: ElementRef;
    private _renderer;
    private readonly transform0;
    private readonly transform1;
    static z: number;
    getZ(): number;
    popup: any;
    close: EventEmitter<CloseEvent>;
    closed: EventEmitter<any>;
    show: EventEmitter<any>;
    position: 'RELATIVE' | 'ABSOLUTE' | 'MODAL';
    private zIndex;
    private documentContextMenuBound;
    private documentMouseDownBound;
    private documentTouchStartBound;
    private documentScrollBound;
    private documentResizeBound;
    /**
     * Ищем следующий элемент для перехода фокуса
     * @param  element  Элемент, относительно которого нужно найти следующий
     * @param  backward Поиск назад (Shift+Tab)
     * @param  parent   Родительский, в котором сейчас ищем
     * @param  found    Заданный элемент найден. Берем следующий подходящий
     * @return          Элемент, на который следует перевести фокус
     */
    private getNextElement;
    popupMouseDown(e: any): void;
    popupTouchStart(e: any): void;
    popupKeyDown(e: any): void;
    addDocumentListeners(): void;
    removeDocumentListeners(): void;
    maxZIndex(element: any): number;
    documentScroll(e: any): void;
    documentResize(e: any): void;
    checkClose(target: any): void;
    documentTouchStart(e: TouchEvent): void;
    documentMouseDown(e: MouseEvent): void;
    documentContextMenu(e: any): void;
    _x: number;
    _y: number;
    _target: any;
    _direction: string;
    _visible: boolean;
    _overlay: HTMLElement;
    readonly visible: boolean;
    private makeOverlay;
    private removeOverlay;
    private resetPosition;
    updatePosition(): void;
    private display;
    showByXY(x: number, y: number): void;
    showByTarget(target?: any, direction?: string): void;
    closePopup(result?: any, confirmed?: boolean): void;
    toggle(target: any, direction: string): void;
    constructor(elementRef: ElementRef, _renderer: Renderer2);
}
