import type { ControlSize } from "../../Theme/tokens/primitives/controlSizes"; import type { TabActivationMode, TabsColorScheme, TabsOrientation, TabsVariant } from "./TabsProps"; export interface TabsContextValue { /** Id prefix from which tab and panel ids are derived. */ baseId: string; /** Selected tab value; undefined when none is selected, e.g. in link mode. */ selectedId: string | undefined; /** Tab that holds the roving tab stop. */ focusedId: string | undefined; /** Selects a tab by value; updates internal state only when uncontrolled. */ select: (value: string) => void; /** Moves the roving focus to a tab without selecting it. */ focusTab: (value: string) => void; /** True once a panel container exists; tabs then point `aria-controls` at their panel. */ hasPanels: boolean; /** Called by TabPanels to mark that this Tabs instance has panels. */ registerPanels: () => void; /** Layout axis and arrow-key direction. */ orientation: TabsOrientation; /** Whether focus alone selects a tab. */ activationMode: TabActivationMode; /** Visual treatment shared by every tab. */ variant: TabsVariant; /** Control size shared by every tab. */ size: ControlSize; /** Colour of the selected tab and its count badge. */ colorScheme: TabsColorScheme; /** Keeps unselected panels unmounted until first selected. */ isLazy: boolean; /** Tabs share the tablist's width equally. */ isFitted: boolean; } export declare const TabsContext: import("react").Context; export declare const useTabsContext: () => TabsContextValue; export declare const tabId: (baseId: string, value: string) => string; export declare const panelId: (baseId: string, value: string) => string;