import type { RefObject } from 'react'; import type { PortalProps } from '../../components/Portal'; export interface UseClickOutside { /** Контейнер для монтирования в котором смонтирован компонент, * в случае его наличия, событие на клик вешается на window этого контейнера, * а не на текущий window (фиксит проблему с iframe) */ container?: PortalProps['container']; /** Массив refs, для которых необходимо игнорировать внешние клики */ refs?: ReadonlyArray>; /** Функция обратного вызова, которая будет вызвана при внешнем клике */ handler?: () => void; /** Событие клика */ eventName?: 'mousedown' | 'mouseup' | 'click'; /** вкл. / выкл */ active?: boolean; /** Опции для метода addEventListener (третий аргумент) */ options?: AddEventListenerOptions; } /** Хук отслеживающий клики за пределами указанных dom-элементов */ export declare function useClickOutside({ refs, container, handler, active, eventName, options, }: UseClickOutside): void;