export type TabsItem<TValue extends string = string> = {
    value: TValue;
    label: string;
    icon?: React.ReactNode;
    disabled?: boolean;
    isComingSoon?: boolean;
};
export type TabsVariant = "bar" | "underline";
export type TabsOverflowBehavior = "scroll" | "select";
export type TabsSize = "s" | "m";
export type TabsClassNames = {
    root?: string;
    tabList?: string;
    /** Applied to every tab `<button>`; merged after variant styles (use to override padding, etc.). */
    tabTrigger?: string;
};
export type TabsProps<TValue extends string = string> = {
    /** Tab definitions rendered in the control. */
    items: TabsItem<TValue>[];
    /** Currently selected tab value. */
    value: TValue;
    /** Called when the active tab changes. */
    onChange: (value: TValue) => void;
    /** Visual tab treatment. */
    variant?: TabsVariant;
    /** Size preset applied to tab triggers. */
    size?: TabsSize;
    /** Behavior used when tabs overflow horizontally. */
    overflowBehavior?: TabsOverflowBehavior;
    /** Accessible label announced for the tab list. */
    ariaLabel?: string;
    /** Custom class name applied to the root element. */
    className?: string;
    /** Class name overrides for internal tab slots. */
    classNames?: TabsClassNames;
};
