import * as React from 'react'; import { startMorph } from '../../motion/index.js'; import type { ChangeDetails, PartProps } from '../../contracts/components.js'; export type TabsValue = string; export type TabsRootProps = Omit, 'onChange' | 'defaultValue'> & { /** Controlled value. Pair with `onValueChange`. */ value?: TabsValue | undefined; /** Initial value when uncontrolled. */ defaultValue?: TabsValue | undefined; /** (value, details) — details.reason comes from Base UI's event details (SURF-047). */ onValueChange?: ((value: TabsValue, details: ChangeDetails) => void) | undefined; /** Tab list direction; also the arrow-key axis. */ orientation?: 'horizontal' | 'vertical' | undefined; /** Roving focus activates the focused tab (default false — manual activation). */ activateOnFocus?: boolean | undefined; /** Indicator style. */ appearance?: 'pill' | 'underline' | undefined; /** Tab size. */ size?: 'sm' | 'md' | undefined; }; declare function TabsRoot({ value, defaultValue, onValueChange, orientation, activateOnFocus, appearance, size, children, render, ...rest }: TabsRootProps): React.JSX.Element; declare namespace TabsRoot { var displayName: string; } export type TabsListProps = PartProps<'div'> & { /** Roving focus activates the focused tab (default false — manual activation). */ activateOnFocus?: boolean | undefined; }; declare function TabsList({ activateOnFocus, children, render, ...rest }: TabsListProps): React.JSX.Element; declare namespace TabsList { var displayName: string; } export type TabsTabProps = Omit, 'value'> & { value: TabsValue; disabled?: boolean | undefined; }; declare function TabsTab({ value, disabled, children, render, ...rest }: TabsTabProps): React.JSX.Element; declare namespace TabsTab { var displayName: string; } export type TabsPanelProps = Omit, 'value'> & { value: TabsValue; /** Keep the inactive panel mounted (hidden) instead of unmounting. */ keepMounted?: boolean | undefined; }; declare function TabsPanel({ value, keepMounted, children, render, ...rest }: TabsPanelProps): React.JSX.Element; declare namespace TabsPanel { var displayName: string; } export declare function TabsIndicator({ render, ...rest }: PartProps<'div'>): React.ReactElement>; export declare namespace TabsIndicator { var displayName: string; } export { startMorph }; export declare const Tabs: { Root: typeof TabsRoot; List: typeof TabsList; Tab: typeof TabsTab; Panel: typeof TabsPanel; Indicator: typeof TabsIndicator; }; //# sourceMappingURL=Tabs.d.ts.map