import * as react_jsx_runtime from 'react/jsx-runtime';
import * as class_variance_authority_types from 'class-variance-authority/types';
import * as React from 'react';
import { VariantProps } from 'class-variance-authority';

/**
 * StatusBadge — the small "Beta"/"New"/"Alpha" chip we ship in the sidebar,
 * lifted into a reusable primitive so it can decorate any surface: tabs,
 * buttons, table headers, card titles, chart cards, panels.
 *
 * Why a dedicated component (instead of reusing generic `<Badge>`): each
 * status has a canonical color + accessible announcement. Hard-coding the
 * Tailwind classes at every callsite drifts; consumers should pass `status`
 * and let the primitive handle visuals + `aria-label`.
 *
 * Usage:
 *   <StatusBadge status="beta" />                   // pill, default size
 *   <StatusBadge status="new"  size="sm" />
 *   <StatusBadge status="beta" variant="dot" />     // small dot (e.g. in collapsed sidebar)
 *
 *   // Anchor on a target element:
 *   <span className="relative inline-flex">
 *     Tab label
 *     <StatusBadge status="beta" className="ml-1.5" />
 *   </span>
 */
declare const statusBadgeVariants: (props?: ({
    status?: "alpha" | "beta" | "new" | "preview" | "deprecated" | null | undefined;
    size?: "xs" | "sm" | "md" | null | undefined;
    variant?: "dot" | "pill" | null | undefined;
} & class_variance_authority_types.ClassProp) | undefined) => string;
interface StatusBadgeProps extends Omit<React.ComponentProps<"span">, "children">, VariantProps<typeof statusBadgeVariants> {
    /** Override the visible label (still keeps status color). */
    label?: string;
}
declare function StatusBadge({ className, status, size, variant, label, "aria-label": ariaLabel, ...props }: StatusBadgeProps): react_jsx_runtime.JSX.Element;

export { StatusBadge, type StatusBadgeProps, statusBadgeVariants };
