import * as react from 'react'; import { ReactNode, ButtonHTMLAttributes } from 'react'; type TabsVariant = "underline" | "pills" | "boxed"; interface TabsContextValue { activeTab: string; setActiveTab: (tab: string) => void; variant: TabsVariant; } interface TabsProps { children: ReactNode; defaultTab?: string; activeTab?: string; onTabChange?: (tab: string) => void; variant?: TabsVariant; className?: string; } interface TabsListProps { children: ReactNode; className?: string; } interface TabsTabProps extends Omit, "value"> { children: ReactNode; value: string; disabled?: boolean; className?: string; } interface TabsPanelsProps { children: ReactNode; className?: string; } interface TabsPanelProps { children: ReactNode; value: string; className?: string; } declare function TabsList({ children, className }: TabsListProps): react.JSX.Element; declare namespace TabsList { var displayName: string; } declare function TabsTab({ children, value, disabled, className, onClick, ...rest }: TabsTabProps): react.JSX.Element; declare namespace TabsTab { var displayName: string; } declare function TabsPanels({ children, className }: TabsPanelsProps): react.JSX.Element; declare namespace TabsPanels { var displayName: string; } declare function TabsPanel({ children, value, className }: TabsPanelProps): react.JSX.Element | null; declare namespace TabsPanel { var displayName: string; } declare function TabsRoot({ children, defaultTab, activeTab: controlledTab, onTabChange, variant, className, }: TabsProps): react.JSX.Element; declare const Tabs: typeof TabsRoot & { List: typeof TabsList; Tab: typeof TabsTab; Panels: typeof TabsPanels; Panel: typeof TabsPanel; }; declare function useTabs(): TabsContextValue; export { Tabs, type TabsContextValue, type TabsListProps, type TabsPanelProps, type TabsPanelsProps, type TabsProps, type TabsTabProps, type TabsVariant, useTabs };