import { type RefObject } from 'react';
export type UseFocusTrapProps = {
    /**
     * @default true
     */
    mount?: boolean;
    /**
     * Форсированное отключение захвата фокуса
     *
     * @default false
     */
    disabled?: boolean;
    /**
     * @default true
     */
    autoFocus?: boolean | 'root';
    /**
     * @default true
     */
    restoreFocus?: boolean | (() => boolean | HTMLElement);
    /**
     * @default 0
     */
    timeout?: number;
    /**
     * Вызывается при нажатии на кнопку `Escape`.
     */
    onClose?: VoidFunction;
    /**
     * Следует ли обрабатываеть событие нажатия клавиши Escape при "погружении", то есть
     * до того как это событие будет обработано на EventTarget
     * Удобно установить в false, если требуется запретить "всплытие" события до FocusTrap
     *
     * @default true
     */
    captureEscapeKeyboardEvent?: boolean;
    /**
     * Пользовательские опции для MutationObserver, который отслеживает изменения DOM внутри компонента и пересчитывает ноды для фокуса.
     */
    mutationObserverOptions?: MutationObserverInit;
};
/**
 * @private
 */
export declare const useFocusTrap: (ref: RefObject<HTMLElement | null>, { mount, disabled, autoFocus, restoreFocus, timeout, onClose, captureEscapeKeyboardEvent, mutationObserverOptions, }: UseFocusTrapProps) => void;
//# sourceMappingURL=useFocusTrap.d.ts.map