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 };