import { t as DisclosureStore } from "./disclosure-store-DsqFEX-x.js";
import { Options, Props } from "@ariakit/react-utils";
import { ElementType, RefObject } from "react";
//#region src/disclosure/disclosure-content.d.ts
declare const TagName = "div";
type TagName = typeof TagName;
declare function isHidden(mounted: boolean, hidden?: boolean | null, alwaysVisible?: boolean | null): boolean;
/**
 * Returns props to create a `DislosureContent` component.
 * @see https://ariakit.com/components/disclosure
 * @example
 * ```jsx
 * const store = useDisclosureStore();
 * const props = useDisclosureContent({ store });
 * <Disclosure store={store}>Disclosure</Disclosure>
 * <Role {...props}>Content</Role>
 * ```
 */
declare const useDisclosureContent: import("@ariakit/react-utils").Hook<"div", DisclosureContentOptions<"div">>;
/**
 * Renders an element that can be shown or hidden by a
 * [`Disclosure`](https://ariakit.com/components/disclosure) component.
 * @see https://ariakit.com/components/disclosure
 * @example
 * ```jsx {3}
 * <DisclosureProvider>
 *   <Disclosure>Disclosure</Disclosure>
 *   <DisclosureContent>Content</DisclosureContent>
 * </DisclosureProvider>
 * ```
 */
declare const DisclosureContent: ({ unmountOnHide, ...props }: DisclosureContentProps) => import("react").JSX.Element | null;
interface DisclosureContentOptions<_T extends ElementType = TagName> extends Options {
  /**
   * Object returned by the
   * [`useDisclosureStore`](https://ariakit.com/reference/use-disclosure-store)
   * hook. If not provided, the closest
   * [`DisclosureProvider`](https://ariakit.com/reference/disclosure-provider)
   * component's context will be used.
   */
  store?: DisclosureStore;
  /**
   * A ref to another element whose CSS transitions and animations should be
   * taken into account when computing the animation timeout, such as the
   * dialog's backdrop element, which may be animated while the dialog itself
   * is not.
   * @private
   */
  unstable_otherElementRef?: RefObject<HTMLElement | null>;
  /**
   * Determines whether the content element should remain visible even when the
   * [`open`](https://ariakit.com/reference/disclosure-provider#open) state is
   * `false`. If this prop is set to `true`, the `hidden` prop and the `display:
   * none` style will not be applied, unless explicitly set otherwise.
   *
   * This prop is particularly useful when using third-party animation libraries
   * such as Motion or React Spring, where the element needs to be
   * visible for exit animations to work.
   *
   * Live examples:
   * - [Dialog with
   *   Motion](https://ariakit.com/examples/dialog-framer-motion)
   * - [Menu with
   *   Motion](https://ariakit.com/examples/menu-framer-motion)
   * - [Tooltip with
   *   Motion](https://ariakit.com/examples/tooltip-framer-motion)
   * - [Dialog with details &
   *   summary](https://ariakit.com/examples/dialog-details)
   * @default false
   */
  alwaysVisible?: boolean;
  /**
   * When set to `true`, the content element will be unmounted and removed from
   * the DOM when it's hidden.
   *
   * Live examples:
   * - [Navigation Menubar](https://ariakit.com/examples/menubar-navigation)
   * - [Combobox with integrated
   *   filter](https://ariakit.com/examples/combobox-filtering-integrated)
   * - [Textarea with inline
   *   Combobox](https://ariakit.com/examples/combobox-textarea)
   * - [Standalone Popover](https://ariakit.com/examples/popover-standalone)
   * - [Animated Select](https://ariakit.com/examples/select-animated)
   * - [Multi-Select](https://ariakit.com/examples/select-multiple)
   * @default false
   */
  unmountOnHide?: boolean;
}
type DisclosureContentProps<T extends ElementType = TagName> = Props<T, DisclosureContentOptions<T>>;
//#endregion
export { useDisclosureContent as a, isHidden as i, DisclosureContentOptions as n, DisclosureContentProps as r, DisclosureContent as t };
//# sourceMappingURL=disclosure-content-C02hnFtD.d.ts.map