import { Options, Props } from "@ariakit/react-utils";
import { ElementType } from "react";
//#region src/focusable/focusable-container.d.ts
declare const TagName = "div";
type TagName = typeof TagName;
/**
 * Returns props to create a `FocusableContainer` component.
 * @see https://ariakit.com/components/focusable
 * @example
 * ```jsx
 * const props = useFocusableContainer();
 * <Role {...props} />
 * ```
 */
declare const useFocusableContainer: import("@ariakit/react-utils").Hook<"div", FocusableContainerOptions<"div">>;
/**
 * Renders a div that wraps
 * [`Focusable`](https://ariakit.com/reference/focusable) components and
 * controls whether they can be auto-focused.
 * @see https://ariakit.com/components/focusable
 * @example
 * ```jsx
 * <FocusableContainer autoFocusOnShow={false}>
 *   <Focusable autoFocus />
 * </FocusableContainer>
 * ```
 */
declare const FocusableContainer: (props: FocusableContainerProps) => import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
interface FocusableContainerOptions<_T extends ElementType = TagName> extends Options {
  /**
   * Determines whether [`Focusable`](https://ariakit.com/reference/focusable)
   * elements inside the container should be automatically focused when the
   * container is shown and they have the
   * [`autoFocus`](https://ariakit.com/reference/focusable#autofocus) prop.
   * @default true
   */
  autoFocusOnShow?: boolean;
}
type FocusableContainerProps<T extends ElementType = TagName> = Props<T, FocusableContainerOptions<T>>;
//#endregion
export { FocusableContainer, FocusableContainerOptions, FocusableContainerProps, useFocusableContainer };
//# sourceMappingURL=focusable-container.d.ts.map