export interface TabItemDivider { type: 'divider'; } export interface TabItemTab { id: string; label: string; /** Disables the tab (same meaning as control `isInactive`). */ isInactive?: boolean; /** id of the tabpanel this tab controls */ panelId?: string; /** Show a notification dot (brand) on the tab — no count, matching panel-nav. */ dot?: boolean; } export type TabItem = TabItemTab | TabItemDivider; export type TabGroupItemVariant = 'label' | 'icon' | 'icon-label'; export interface TabGroupItemLabel extends TabItemTab { variant?: 'label'; icon?: never; } export interface TabGroupItemIcon extends TabItemTab { variant: 'icon'; icon: string; } export interface TabGroupItemIconLabel extends TabItemTab { variant: 'icon-label'; icon: string; } export type TabGroupItem = TabGroupItemLabel | TabGroupItemIcon | TabGroupItemIconLabel | TabItemDivider; export declare function isTabDivider(item: TabItem): item is TabItemDivider; /** Tab entries that participate in selection, keyboard nav, and URL matching. */ export declare function getSelectableTabs(tabs: TabItem[]): TabItemTab[];