import { DOMAttributes, FocusableDOMProps, FocusableElement, FocusableProps, RefObject } from '@react-types/shared'; import React, { MutableRefObject, ReactElement, ReactNode } from 'react'; export interface FocusableOptions extends FocusableProps, FocusableDOMProps { /** Whether focus should be disabled. */ isDisabled?: boolean; } export interface FocusableProviderProps extends DOMAttributes { /** The child element to provide DOM props to. */ children?: ReactNode; } interface FocusableContextValue extends FocusableProviderProps { ref?: MutableRefObject; } /** @private */ export declare let FocusableContext: React.Context; /** * Provides DOM props to the nearest focusable child. */ export declare const FocusableProvider: React.ForwardRefExoticComponent>; export interface FocusableAria { /** Props for the focusable element. */ focusableProps: DOMAttributes; } /** * Used to make an element focusable and capable of auto focus. */ export declare function useFocusable(props: FocusableOptions, domRef: RefObject): FocusableAria; export interface FocusableComponentProps extends FocusableOptions { children: ReactElement; } export declare const Focusable: React.ForwardRefExoticComponent>; export {};