import type { ElementType } from "react";
import type { CompositeItemOptions } from "../composite/composite-item.tsx";
import type { Props } from "../utils/types.ts";
import type { TabStore } from "./tab-store.ts";
declare const TagName = "button";
type TagName = typeof TagName;
/**
* Returns props to create a `Tab` component.
* @see https://ariakit.com/components/tab
* @example
* ```jsx
* const store = useTabStore();
* const props = useTab({ store });
*
* Tab 1
*
* Panel 1
* ```
*/
export declare const useTab: import("../utils/types.ts").Hook<"button", TabOptions<"button">>;
/**
* Renders a tab element inside a
* [`TabList`](https://ariakit.com/reference/tab-list) wrapper.
* @see https://ariakit.com/components/tab
* @example
* ```jsx {3,4}
*
*
* Tab 1
* Tab 2
*
* Panel 1
* Panel 2
*
* ```
*/
export declare const Tab: (props: TabProps) => import("react").ReactElement>;
export interface TabOptions extends CompositeItemOptions {
/**
* Object returned by the
* [`useTabStore`](https://ariakit.com/reference/use-tab-store) hook. If not
* provided, the closest [`TabList`](https://ariakit.com/reference/tab-list)
* component's context will be used.
*/
store?: TabStore;
/**
* @default true
*/
accessibleWhenDisabled?: CompositeItemOptions["accessibleWhenDisabled"];
}
export type TabProps = Props>;
export {};