import { KdsIconName } from '../../accessories/Icon/types';
import { KdsLiveStatusStatus } from '../../accessories/LiveStatus/types';
import { kdsTabBarSize } from './enums';
export type KdsTabBarSize = (typeof kdsTabBarSize)[keyof typeof kdsTabBarSize];
export type KdsTabBarIconAccessory = {
    type: "icon";
    name: KdsIconName;
};
export type KdsTabBarLiveStatusAccessory = {
    type: "liveStatus";
    status: KdsLiveStatusStatus;
};
export type KdsTabBarItemAccessory = KdsTabBarIconAccessory | KdsTabBarLiveStatusAccessory;
export type KdsTabBarItem = {
    /** Unique HTML id attribute for the tab button element that should be linked to the panel by `aria-labelledby`. */
    id: string;
    /** Unique value used to identify the tab and to track the selected tab via v-model. */
    value: string | number;
    /** Visible text label displayed inside the tab. */
    label: string;
    /** The id of the associated tab panel element, used for `aria-controls`. */
    panelId: string;
    /** Optional accessory (icon or live status) displayed before the label. Icon accessories are hidden automatically when the container is too narrow. */
    accessory?: KdsTabBarItemAccessory;
    /** Optional tooltip text. Falls back to `label` when not provided. */
    title?: string;
    /** Whether this individual tab is disabled. */
    disabled?: boolean;
};
export type KdsTabBarProps = {
    /** The list of tabs to render. */
    tabs: KdsTabBarItem[];
    /** The size variant of the tab bar. @default "small" */
    size?: KdsTabBarSize;
    /** Whether tabs should stretch to fill the full available width. @default false */
    fullWidth?: boolean;
    /** Whether the entire tab bar is disabled. Overrides individual tab `disabled` states. @default false */
    disabled?: boolean;
};
//# sourceMappingURL=types.d.ts.map