type UseIsFocusWithinOptions<T extends HTMLElement> = {
    /**
     * Optional external ref to the DOM element to track.
     * If not provided, the hook will return its own internal ref.
     */
    ref?: React.RefObject<T>;
    /**
     * Optional callback triggered when focus enters the element or its children.
     */
    onFocusWithin?: () => void;
    /**
     * Optional callback triggered when focus leaves the element and all its children.
     */
    onBlurWithin?: () => void;
    /**
     * Optional delay (in ms) before calling onBlurWithin.
     * Useful when focus might quickly shift between internal elements.
     * @default 0
     */
    delay?: number;
};
/**
 * React hook that tracks whether focus is currently within a given element or its children.
 * Provides a boolean state and a ref to attach to the tracked element.
 *
 * @param options Hook configuration including external ref, callbacks, and optional delay.
 * @returns An object containing the ref and whether focus is currently within the element.
 */
declare const useIsFocusWithin: <T extends HTMLElement>({ ref: externalRef, onFocusWithin, onBlurWithin, delay, }?: UseIsFocusWithinOptions<T>) => {
    ref: import('react').RefObject<T>;
    isFocusedWithin: boolean;
};
export default useIsFocusWithin;
