import React, { type ElementType, type Ref } from 'react'; import type { Props } from '../../types.js'; import { type HasDisplayName, type PropsForFeatures, type RefProp } from '../../utils/render.js'; declare let DEFAULT_TABS_TAG: "div"; type TabsRenderPropArg = { selectedIndex: number; }; type TabsPropsWeControl = never; export type TabGroupProps = Props void; selectedIndex?: number; vertical?: boolean; manual?: boolean; }>; declare function GroupFn(props: TabGroupProps, ref: Ref): React.JSX.Element; declare let DEFAULT_LIST_TAG: "div"; type ListRenderPropArg = { selectedIndex: number; }; type ListPropsWeControl = 'aria-orientation' | 'role'; export type TabListProps = Props; declare function ListFn(props: TabListProps, ref: Ref): React.ReactElement> | null; declare let DEFAULT_TAB_TAG: "button"; type TabRenderPropArg = { hover: boolean; focus: boolean; active: boolean; autofocus: boolean; selected: boolean; disabled: boolean; }; type TabPropsWeControl = 'aria-controls' | 'aria-selected' | 'role' | 'tabIndex'; export type TabProps = Props; declare function TabFn(props: TabProps, ref: Ref): React.ReactElement> | null; declare let DEFAULT_PANELS_TAG: "div"; type PanelsRenderPropArg = { selectedIndex: number; }; export type TabPanelsProps = Props; declare function PanelsFn(props: TabPanelsProps, ref: Ref): React.ReactElement> | null; declare let DEFAULT_PANEL_TAG: "div"; type PanelRenderPropArg = { selected: boolean; focus: boolean; }; type PanelPropsWeControl = 'role' | 'aria-labelledby'; declare let PanelRenderFeatures: number; export type TabPanelProps = Props & { id?: string; tabIndex?: number; }>; declare function PanelFn(props: TabPanelProps, ref: Ref): React.JSX.Element | null; export interface _internal_ComponentTab extends HasDisplayName { (props: TabProps & RefProp): React.JSX.Element; } export interface _internal_ComponentTabGroup extends HasDisplayName { (props: TabGroupProps & RefProp): React.JSX.Element; } export interface _internal_ComponentTabList extends HasDisplayName { (props: TabListProps & RefProp): React.JSX.Element; } export interface _internal_ComponentTabPanels extends HasDisplayName { (props: TabPanelsProps & RefProp): React.JSX.Element; } export interface _internal_ComponentTabPanel extends HasDisplayName { (props: TabPanelProps & RefProp): React.JSX.Element; } export declare let TabGroup: _internal_ComponentTabGroup; export declare let TabList: _internal_ComponentTabList; export declare let TabPanels: _internal_ComponentTabPanels; export declare let TabPanel: _internal_ComponentTabPanel; export declare let Tab: _internal_ComponentTab & { /** @deprecated use `` instead of `` */ Group: _internal_ComponentTabGroup; /** @deprecated use `` instead of `` */ List: _internal_ComponentTabList; /** @deprecated use `` instead of `` */ Panels: _internal_ComponentTabPanels; /** @deprecated use `` instead of `` */ Panel: _internal_ComponentTabPanel; }; export {};