import { type ComponentProps, type ReactNode } from "react"; import { Tabs as TabsPrimitive } from "radix-ui"; /** * Page tabs: the Capabilities tab row as a reusable primitive. * * - `underline` (default): 44px, 14/500, 24px apart, muted until active, and a * 2px bar sitting on the row's 1px rule. Reads as places on a page. * - `pill`: filled pills on a ruled row. Reads as filters. * * `LineTabs*` wrap Radix Tabs for in-page panels (arrow keys move between * tabs). `LineTabsNav` + `LineTabsLink` render the same row as links for tabs * that are routes or URL state (`aria-current="page"`). * * The row never wraps: on narrow widths the tabs scroll sideways with a soft * fade on the clipped edge, the active tab is scrolled into view, and the * trailing slot (for example "+ Add") stays pinned right. */ export type LineTabsVariant = "underline" | "pill"; export type LineTabsCountTone = "neutral" | "attention"; export declare const lineTabVariants: (props?: ({ variant?: "pill" | "underline" | null | undefined; } & import("class-variance-authority/types").ClassProp) | undefined) => string; /** The 11px count badge inside a tab: "Review 3". */ export declare function LineTabCount({ count, tone, label, className, }: { count: ReactNode; tone?: LineTabsCountTone | undefined; /** Read instead of the bare number, for example "3 waiting for review". */ label?: string | undefined; className?: string | undefined; }): import("react").JSX.Element; export declare function LineTabs({ className, ...props }: ComponentProps): import("react").JSX.Element; export interface LineTabsListProps extends ComponentProps { variant?: LineTabsVariant | undefined; /** Pinned to the right of the row, on the same rule: "+ Add". */ trailing?: ReactNode | undefined; /** Classes for the outer row (the one with the rule). */ barClassName?: string | undefined; } export declare function LineTabsList({ variant, trailing, className, barClassName, children, ...props }: LineTabsListProps): import("react").JSX.Element; export interface LineTabsTriggerProps extends ComponentProps { /** Shown as an 11px badge after the label. */ count?: ReactNode | undefined; countTone?: LineTabsCountTone | undefined; /** Read instead of the bare count. */ countLabel?: string | undefined; } export declare function LineTabsTrigger({ className, children, count, countTone, countLabel, ...props }: LineTabsTriggerProps): import("react").JSX.Element; export declare function LineTabsContent({ className, ...props }: ComponentProps): import("react").JSX.Element; export interface LineTabsNavProps extends ComponentProps<"nav"> { variant?: LineTabsVariant | undefined; trailing?: ReactNode | undefined; barClassName?: string | undefined; } export declare function LineTabsNav({ variant, trailing, className, barClassName, children, ...props }: LineTabsNavProps): import("react").JSX.Element; export interface LineTabsLinkProps extends ComponentProps<"a"> { /** Render your router's link as the child (``). */ asChild?: boolean | undefined; active?: boolean | undefined; count?: ReactNode | undefined; countTone?: LineTabsCountTone | undefined; countLabel?: string | undefined; } export declare function LineTabsLink({ asChild, active, count, countTone, countLabel, className, children, ...props }: LineTabsLinkProps): import("react").JSX.Element;