///
export declare type FocusTrapShards = (HTMLElement | React.RefObject | React.MutableRefObject)[];
export interface UseFocusTrapProps {
/**
* Sets focus on first focusable element.
* Default is false.
*/
autoFocus?: boolean;
/**
* Sets focus on container referenced within useFocusTrap.
* Default is false.
*
* Required to properly handle focus inside Modal, Drawer, etc.
* Executed before useAutoFocus hook, thus might be overriden by it.
*/
autoFocusContainer?: boolean;
/** Disables everything: focus lock, auto focus, restore focus, etc. */
disabled?: boolean;
/**
* Prevents focus to move to another focusable element outside of useFocusTrap when clicked/tapped.
* Default is false.
*/
disableClickOutside?: boolean;
/**
* Prevent user from from tabbing focus out of scope'ed elements
* Default is true.
*/
focusLock?: boolean;
/**
* Disables restoring focus position on unmount.
* Default is true.
*/
restoreFocus?: boolean;
/** Array of refs or nodes, which useFocusTrap should consider as a part of it */
shards?: FocusTrapShards;
}
export declare const useFocusTrap: (props?: UseFocusTrapProps) => React.RefObject;