/**
 * Props for the useOnClickOutside hook
 */
type UseOnClickOutsideProps = {
    /**
     * Callback fired when a click begins outside target elements (on pointerdown)
     */
    onClickOutsideBegin?: (e: PointerEvent) => void;
    /**
     * Callback fired when a click completes outside target elements (on pointerup),
     * but only if the click also began outside the targets
     */
    onClickOutside?: (e: PointerEvent) => void;
    /**
     * Array of target elements to monitor
     */
    targets: (HTMLElement | undefined)[];
    /**
     * Whether to disable the useOnClickOutside hook
     */
    disable?: boolean;
    /**
     * Optional layer ID for stacking management. When provided, callbacks will only
     * fire if this layer is the topmost layer in the stack.
     */
    layerId?: string;
};
/**
 * Custom hook for detecting clicks outside of specified target elements.
 *
 * Features:
 * - Detects clicks outside of multiple target elements
 * - Supports both pointerdown and pointerup event handling (works for mouse and touch)
 * - Provides separate callbacks for click begin and complete actions
 * - Handles SSR environments gracefully
 * - Automatically cleans up event listeners
 * - Uses composedPath for accurate event target detection
 * - Supports optional callbacks for flexible usage
 *
 * @param props - Configuration object containing targets and optional callbacks
 * @returns void
 */
export declare const useOnClickOutside: ({ onClickOutsideBegin, targets, onClickOutside, disable, layerId, }: UseOnClickOutsideProps) => void;
export {};
