import { RefObject } from "react"; /** * Shared outside-click-to-close effect. * * Seven components hand-rolled this same `mousedown` listener (AdvancedSearch, * GroupBy, QuickFilter, Setting, ColumnChooser, ExportPopup, CreateScreenPopup), * differing only in an exemption predicate. Each copy also carried a dead * `removeEventListener` in the else-branch, which never had a matching listener * to remove because the handler identity changed every render. * * `onOutside` and `isExempt` are read through refs, so a caller may pass inline * closures without the listener being re-bound on every render. */ export declare function useClickOutside(ref: RefObject, enabled: boolean, onOutside: (event: MouseEvent) => void, isExempt?: (target: HTMLElement, event: MouseEvent) => boolean): void; export default useClickOutside;