import type { ElementType } from "react";
import type { PopoverDisclosureOptions } from "../popover/popover-disclosure.tsx";
import type { Props } from "../utils/types.ts";
import type { CompositeItemOptions } from "./composite-item.tsx";
import type { CompositeOverflowStore } from "./composite-overflow-store.ts";
declare const TagName = "button";
type TagName = typeof TagName;
/**
* Returns props to create a `CompositeOverflowDisclosure` component. This hook
* should be used in a component that's wrapped with a composite component.
* @see https://ariakit.com/components/composite
* @example
* ```jsx
* // This component should be wrapped with Composite
* const props = useCompositeOverflowDisclosure();
* +2 items
* ```
*/
export declare const useCompositeOverflowDisclosure: import("../utils/types.ts").Hook<"button", CompositeOverflowDisclosureOptions<"button">>;
/**
* Renders a disclosure button for the `CompositeOverflow` component. This
* component should be wrapped with a composite component.
* @see https://ariakit.com/components/composite
* @example
* ```jsx
* const composite = useCompositeStore();
* const overflow = useCompositeOverflowStore();
*
* Item 1
* Item 2
*
* +2 items
*
*
* Item 3
* Item 4
*
*
* ```
*/
export declare const CompositeOverflowDisclosure: (props: CompositeOverflowDisclosureProps) => import("react").ReactElement>;
export interface CompositeOverflowDisclosureOptions extends Omit, "store">, PopoverDisclosureOptions {
/**
* Object returned by the `useCompositeOverflowStore` hook.
*/
store: CompositeOverflowStore;
}
export type CompositeOverflowDisclosureProps = Props>;
export {};