import * as React from "react"; import type { TabItemProp, TabsProp } from "../../props/components/navigation.prop.js"; export type { TabItemProp, TabsProp, TabsVariantProp, TabsPlacementProp, TabsExtraProp, TabsOverflowProp, TabsAnimatedProp, TabsIndicatorProp, TabsIndicatorSizeProp, TabsScrollDirectionProp, TabsOnScrollProp, } from "../../props/components/navigation.prop.js"; export type TabsOrientation = "vertical" | "horizontal"; export type TabsItem = TabItemProp; export type TabsProps = Omit, "defaultValue" | "dir"> & TabsProp & { orientation?: TabsOrientation; dir?: "ltr" | "rtl"; activationMode?: "manual" | "automatic"; }; export declare function Tabs({ className, orientation, items, value, defaultValue, onValueChange, activationMode, dir, variant, tabPlacement, size, centered, bodied, extra, destroyOnHidden, onEdit, addIcon, hideAdd, closeIcon, onTabClick, overflow, animated, indicator, moreIcon, onTabScroll, listClassName, contentClassName, children, ...props }: TabsProps): React.JSX.Element; export declare const TabsList: React.ForwardRefExoticComponent, HTMLDivElement>, "ref"> & { variant?: "default" | "line"; /** * ACCEPTED AND IGNORED. Radix's `RovingFocusGroup` took a `loop` switch; React Aria's tab list * always wraps at the ends and exposes no equivalent knob. The prop stays so no consumer's build * breaks. No test records this: the claim worth pinning would have been "both libraries wrap * by default", and once Radix is gone there is no second library left to compare against. */ loop?: boolean; } & React.RefAttributes>; export declare const TabsTrigger: React.ForwardRefExoticComponent, HTMLButtonElement>, "ref">, "value"> & { /** The tab's key — RAC `id` (its DOM `id` stays RAC-generated, exactly as Radix generated one). */ value: string; /** RAC `isDisabled`; ALSO written to the button so `disabled:` utilities keep matching. */ disabled?: boolean; } & React.RefAttributes>; export declare const TabsContent: React.ForwardRefExoticComponent, HTMLDivElement>, "ref">, "value"> & { /** The panel's key — must match a `TabsTrigger value`. RAC `id`. */ value: string; /** Keep the panel mounted while another tab is selected — RAC `shouldForceMount`. */ forceMount?: true; } & React.RefAttributes>;