import type { ReactElement, ReactNode } from "react"; import React from "react"; interface TabsProps { readonly children: ReactElement | Array; /** * Specifies the index of the tab that should be active on mount * * @default 0 */ readonly defaultTab?: number; /** * Specifies the index of the active tab. * If provided, the component will be controlled and the active tab will be determined by this prop. * If not provided, the component will manage its own state internally. */ readonly activeTab?: number; /** * Callback that fires when the active tab changes * @param newTabIndex */ onTabChange?(newTabIndex: number): void; } export declare function Tabs({ children, defaultTab, activeTab: controlledActiveTab, onTabChange, }: TabsProps): React.JSX.Element; interface TabProps { readonly label: string | ReactNode; readonly children: ReactNode | ReactNode[]; onClick?(event: React.MouseEvent): void; } export declare function Tab({ label }: TabProps): React.JSX.Element; interface InternalTabProps { readonly label: string | ReactNode; readonly selected: boolean; activateTab(): void; onClick?(event: React.MouseEvent): void; readonly tabIndex: number; } declare const InternalTab: React.ForwardRefExoticComponent>; export { InternalTab };