import React from 'react'; import { BoxProps } from '../Box/Box'; import { JustifyContent } from '../Flex/Flex'; import { AsProps, GenericComponent } from '../helpers/asProps'; import { FlexItemProps } from '../helpers/flexItem'; interface TabListProps extends Omit, 'role'> { fullWidth?: boolean; justifyContent?: JustifyContent; fillGaps?: boolean; } interface TabProps extends FlexItemProps { /** Name of the tab, used by the controller to auto-generate `id` and `panelId` */ name?: string; /** ID of the panel this tab controls; directly mapped to `aria-controls` */ panelId?: string; children?: React.ReactNode; } interface TabPanelProps extends BoxProps, Omit, 'color'> { /** Name of the tab, used by the controller to auto-generate `id` and `tabId` */ tab?: string; /** ID of the tab that controls this panel; directly mapped to `aria-labelledby` */ tabId?: string; } interface TabControllerProps { children?: React.ReactNode; id?: string; initialTabId?: string; } export declare const TabList: React.FC; declare function TabFunc({ name, panelId, ...props }: TabProps & AsProps, ref: React.Ref): JSX.Element; export declare const Tab: typeof TabFunc; export declare const TabPanel: React.FC; export declare const TabController: React.FC; export {};