import { type ElementType, type ReactElement } from "react"; import type { NavTree } from "../../docs/types.js"; /** * Props for {@link DocsTabs}. */ export interface DocsTabsProps { /** The navigation tree for the current language (from `docs.getNavTree(lang)`). */ nav: NavTree; /** The current page's URL path (e.g. from `usePathname()`), used to highlight the owning tab. */ activePath?: string | undefined; /** The render language, used to localize the fallback tab label / aria label. */ lang?: string | undefined; /** Element used for the tab links. Defaults to `"a"`; pass `next/link` for client-side nav. */ linkComponent?: ElementType; /** Accessible label for the tab bar. Defaults to the `lang` translation of "Documentation". */ label?: string | undefined; } /** * The docs top tab bar: the `getNavTree` tabs rendered as a full-width row of underline tabs with an * animated gradient indicator sliding under the active one, mirroring the design's secondary nav. * Each tab links to its section's first page, so clicking one navigates there; the active tab is the * one that owns the current page (from `activePath`). Renders nothing for a single-tab tree. * * A client component (it measures the active tab to place the sliding indicator). Place it at the * top of your docs shell, above the sidebar/content row. * * @param props - see {@link DocsTabsProps}. * @returns the tab bar, or `null` when there is only one tab. */ export declare function DocsTabs({ nav, activePath, lang, linkComponent: Link, label }: DocsTabsProps): ReactElement | null;