import type { HTMLAttributes } from "react"; /** * PlanBadge — semantic pricing-tier badge. * * Five canonical tiers (`free` / `hobby` / `pro` / `team` / `enterprise`) with * distinct color tokens. Consumers self-document intent with `plan="hobby"` * instead of mapping a generic `` to colors per app. * Future rebrand / dark-mode tweaks propagate automatically — no consumer * code change. * * Visual spec (per `theo/docs/handoff/2026-05-23-theo-ui-cloud-dashboard-gaps-brief.md`): * * | tier | bg | border | text | * |--------------|---------------------|--------------------------|-----------------------| * | free | bg-muted/40 | border-muted-foreground/20 | text-muted-foreground | * | hobby | bg-warning/10 | border-warning/30 | text-warning | * | pro | bg-primary/10 | border-primary/30 | text-primary | * | team | bg-success/10 | border-success/30 | text-success | * | enterprise | bg-foreground/5 | border-foreground/20 | text-foreground | * * Default label capitalizes the tier (`hobby → "Hobby"`, `enterprise → "Enterprise"`). * * Used by `` inline with the user name; usable standalone. */ export type PlanTier = "free" | "hobby" | "pro" | "team" | "enterprise"; export interface PlanBadgeProps extends Omit, "children"> { /** Plan tier identifier. */ plan: PlanTier; /** Override the display label. Defaults to the capitalized tier name. */ label?: string; /** Size variant. */ size?: "sm" | "md"; } declare const PlanBadge: import("react").ForwardRefExoticComponent>; export { PlanBadge };