import type { HTMLAttributes, ReactNode } from "react"; /** * StatusDot — semantic status indicator (colored circle + optional label). * * Five status kinds: * - `live` — deployed / verified / healthy (success) * - `building` — in-progress / queued (warning, auto-pulses) * - `failed` — error / down / rejected (destructive) * - `idle` — pending / offline (muted) * - `warning` — degraded but functional (warning, static) * * Three sizes (xs 6px, sm 8px default, md 10px). `pulse` defaults to * `true` for `building` and `false` otherwise; passing `pulse` explicitly * overrides the auto behavior. When no visible `label` AND no `aria-label` * are provided, the component auto-applies `aria-label={status}` and * emits a dev-mode warning (a status communicated only by color is * invisible to screen readers). * * @example * * // auto-pulses + auto-aria-label */ export type StatusKind = "live" | "building" | "failed" | "idle" | "warning"; export interface StatusDotProps extends Omit, "children"> { status: StatusKind; label?: ReactNode; size?: "xs" | "sm" | "md"; pulse?: boolean; } declare const StatusDot: import("react").ForwardRefExoticComponent>; export { StatusDot };