import type { RefObject, DependencyList } from 'react';
/**
 * Determines whether a content element should be keyboard-focusable by evaluating if it is
 * scrollable and contains no other focusable elements. Returns a `tabIndex` value of `0` when
 * the content is scrollable but has no focusable children, ensuring keyboard users can still
 * access the scrollable region. Returns `undefined` otherwise.
 * @example useContentTabIndex(dialogRef, dialogContentRef, [closeButtonRef])
 * @example useContentTabIndex(modalRef, modalContentRef, [closeButtonRef], [isLoading])
 * @param containerRef ref of the container element to search for focusables
 * @param contentRef ref of the content element that may need to be focusable
 * @param excludeRefs optional refs to elements that should be excluded from the focusable check (e.g., close button)
 * @param dependencies optional list of variables that will trigger re-evaluation when they are updated (e.g., loading state, content ID)
 * @returns contentTabIndex value (0 or undefined)
 */
declare const useContentTabIndex: (containerRef: RefObject<HTMLElement>, contentRef: RefObject<HTMLElement>, excludeRefs?: RefObject<HTMLElement>[], dependencies?: DependencyList) => number | undefined;
export default useContentTabIndex;
//# sourceMappingURL=useContentTabIndex.d.ts.map