import { FC, RefObject, ReactNode } from 'react';
export declare type LayerManagerProps = {
    /**
     * Видимость слоя
     */
    visible?: boolean;
    /**
     * Обработчик, вызывающийся после нажатия на клавишу esc либо мышкой на область вне контейнера
     */
    onClose?: OnClose;
    /**
     * Содержимое слоя
     */
    children: ReactNode;
    /**
     * Список ссылок на DOM-узлы в рамках которых не нужно отслеживать нажатия
     */
    essentialRefs: RefObject<HTMLElement>[];
};
export declare type OnClose = (event: KeyboardEvent | MouseEvent, source: 'esc' | 'click') => void;
declare type LayerId = string;
declare type LayerTuple = [LayerId, OnClose, RefObject<HTMLElement>[]];
declare type EFC<T> = FC<T> & {
    stack: LayerTuple[];
};
/**
 * Компонент реализующий закрытие всплывающих компонентов,
 * таких как `Popup`, `Modal`, `Tooltip` и `MessageBox` в нужном порядке,
 * по умолчанию используется внутри `Popup`.
 *
 * @param {LayerManagerProps}
 */
export declare const LayerManager: EFC<LayerManagerProps>;
export {};
