import { CheckOptions, FocusableElement, TabbableOptions } from 'tabbable'; import { RefObject } from 'react'; export declare enum InitialFocusType { autofocus = "autofocus", container = "container" } type UseTrapFocusOptions = TabbableOptions & CheckOptions & { trapTabs?: boolean; arrowFocusGroupSelector?: string; activeState?: boolean; initialFocus?: number | `${InitialFocusType}` | false; initialFocusContainerFallback?: boolean; arrowKeysLeftRight?: boolean; arrowKeysUpDown?: boolean; }; export declare const useTrapFocus: (containerElementRef: RefObject, options?: UseTrapFocusOptions) => { current: HTMLElement | undefined; focusables: FocusableElement[]; focusNext: ({ current, event, focusables, arrowFocusGroupSelector, }: { current?: FocusableElement; event?: KeyboardEvent; focusables: FocusableElement[]; arrowFocusGroupSelector?: string; }) => FocusableElement | undefined; focusPrev: ({ current, focusables, event, arrowFocusGroupSelector, }: { current?: FocusableElement; focusables: FocusableElement[]; event?: KeyboardEvent; arrowFocusGroupSelector?: string; }) => FocusableElement | undefined; updateFocusableElements: () => void; }; export {};