/** * The two shared machines → an intent and a human label. * * This is the join M2 promised and the reason `Status` earned its * place as a fifth state kind. `Badge` and `LiveStatusIndicator` * consume `connectionTransitions` / `asyncTransitions` through * these functions, so a connection state has **one** colour and * **one** wording across the fleet — against four repos that each * spell the same four states differently today, and one * (`mux-magic`) whose `statusClassMap` is a * `Record` that silently renders an unknown status * with no colour at all. * * Every switch here ends in `assertNeverStatus`, which is the whole * point: add a state to `connectionTransitions` and this file stops * compiling. A `Record` would have shipped a blank * badge instead. */ import type { AsyncStatus, ConnectionStatus } from "@charcuterie/logic"; import type { IntentName } from "@charcuterie/tokens"; export declare const getConnectionIntent: (status: ConnectionStatus) => IntentName; /** * The ellipsis is a real `…`, not three dots, and the trailing one * is load-bearing: it is what makes "Reconnecting…" read as * in-progress to someone who glances at a wall-mounted panel from * across the room. */ export declare const getConnectionLabel: (status: ConnectionStatus) => string; /** Whether the state is one a moving affordance should mark. */ export declare const getIsConnectionBusy: (status: ConnectionStatus) => boolean; export declare const getAsyncIntent: (status: AsyncStatus) => IntentName; export declare const getAsyncLabel: (status: AsyncStatus) => string; //# sourceMappingURL=statusIntent.d.ts.map