import type { RefObject } from "react"; type UseInteractOutsideOptions = { /** The element to monitor for outside interactions */ ref: RefObject; /** Refs to elements that should not count as "outside" (e.g. trigger buttons) */ excludeRefs?: RefObject[]; /** Called when an outside interaction is detected */ onInteractOutside: (e: MouseEvent | FocusEvent) => void; /** Whether the listener is active */ isActive: boolean; }; /** * useOutsideInteract detects interactions outside a given element. * * Combines two mechanisms: * - Click-based: detects clicks outside the element (via useOutsideClick) * - Focus-based: detects focus moving to an element outside (e.g. Tab key) * * Ignores blur events where relatedTarget is null (e.g. DevTools, tab switch), * letting the click handler cover real outside clicks on non-focusable areas. */ export declare const useOutsideInteract: ({ ref, excludeRefs, onInteractOutside, isActive, }: UseInteractOutsideOptions) => void; export {};