import { UseFloatingOptions, UseFloatingReturn } from '@floating-ui/react'; import { RefObject } from 'react'; /** * Возвращает конфигурацию для `useFloating` по дизайн-гайдам. * @param options Опции. * @return Конфигурация для `useFloating` по дизайн-гайдам. */ export declare function popupFloatingConfig({ placement, offset: offsetValue, }?: { offset?: number; placement?: 'top' | 'right' | 'bottom' | 'left' | 'right-start' | 'top-start' | 'top-end' | 'right-end' | 'bottom-start' | 'bottom-end' | 'left-start' | 'left-end'; }): Partial; /** * Возвращает стили для элемента с учетом "слоя". * @param floating Результат вызова useFloating. * @return Стили для элемента с учетом "слоя". */ export declare function usePopupFloatingStyle({ strategy, x, y, }: Pick): { position: import("@floating-ui/utils").Strategy; top: number; left: number; zIndex: number; }; /** * Показ всплывающего элемента по клику и скрытие. * @param floating Результат вызова useFloating. * @return Опции для открывающего и всплывающего элемента. */ export declare function usePopupOnClick(floating: Pick): import("@floating-ui/react").UseInteractionsReturn; /** * Хук ловушки фокуса. * @todo Вынести в общие утилиты тк понадобится для Modal и тд. * @param ref Элемент-контейнер для которого нужно захватить фокус. * @param options Опции. */ export declare function useFocusTrap(ref: RefObject, { enabled, afterDeactivate, }: { enabled: boolean; afterDeactivate?: () => void; }): void;