import { type ConnectionStatus, type MachineState } from "../types/machines.js"; import { type OpenGeniText } from "../messages/runtime.js"; export type ConnectionStatusMeta = { label: string; dotClassName: string; badgeClassName: string; /** Live/transient states breathe; settled states hold still. */ pulse: boolean; }; /** Token-backed meta for the three connection-status pill values. */ export declare const CONNECTION_STATUS_META: (t: OpenGeniText) => Record; export type MachineStateBadgeMeta = { label: string; badgeClassName: string; }; /** * The non-connection state badges that ride ALONGSIDE the connection pill — * `consent_required` / `display_unavailable` / `enrolling` describe a capability * limitation, not reachability, so they render as their own tinted chip. */ export declare const MACHINE_STATE_BADGE_META: (t: OpenGeniText) => Partial>; export type ConnectionStatusPillProps = { status: ConnectionStatus; /** Override the label ("Online" -> "Connected", ...). */ label?: string | undefined; size?: "sm" | "md" | undefined; className?: string | undefined; }; /** * The connection-status pill (online / reconnecting / offline) surfaced across * the Machines dashboard, the dock header, and the session timeline. Reconnecting * breathes (the resiliency-as-headline blip), online/offline hold still. */ export declare function ConnectionStatusPill({ status, label, size, className, }: ConnectionStatusPillProps): import("react").JSX.Element; export type ConnectionDotProps = { status: ConnectionStatus; className?: string | undefined; }; /** Just the dot — for dense rows, the dock header, and timeline notices. */ export declare function ConnectionDot({ status, className }: ConnectionDotProps): import("react").JSX.Element; export type MachineStatusPillProps = { /** The machine's full state — drives the connection pill + any state badge. */ state: MachineState; /** How many live sessions share this lease (renders a "Shared" chip when >1). */ sharedSessionCount?: number | undefined; size?: "sm" | "md" | undefined; className?: string | undefined; }; /** * The composite machine status surface: the connection pill PLUS any * consent/display/enrolling badge PLUS a shared-in-use chip. One component the * dashboard row, the dock header, and the timeline all reuse so the status * language is identical everywhere. */ export declare function MachineStatusPill({ state, sharedSessionCount, size, className, }: MachineStatusPillProps): import("react").JSX.Element;