import { ReactNode } from 'react'; /** * Selection state published by `Tabs` to its descendant `TabsList`, `Tab`, and `TabPanel`. * * Each reads it via `useTabsContext()` - `Tab` to derive its `active` state and wire selection, `TabPanel` to decide whether to mount. */ interface TabsContextValue { /** Currently selected tab value (`undefined` when nothing is selected). */ value: string | undefined; /** Select a tab by its `value`. No-ops when the value is already selected. */ setValue: (value: string) => void; /** Stable id used to wire `aria-controls`/`aria-labelledby` between tabs and panels. */ baseId: string; } export declare function useTabsContext(): TabsContextValue; export declare function TabsContextProvider(props: { value: TabsContextValue; children: ReactNode; }): import("react/jsx-runtime").JSX.Element; /** Id of the `Tab` button for a given value, within a `Tabs` instance. */ export declare const tabId: (baseId: string, value: string) => string; /** Id of the `TabPanel` for a given value, within a `Tabs` instance. */ export declare const tabPanelId: (baseId: string, value: string) => string; export {}; //# sourceMappingURL=TabsContext.d.ts.map