import type { ValidationStatus } from "./doctor.js"; /** * Decide whether ANSI color should be emitted. `NO_COLOR` (any value) always * wins per the no-color.org convention; `FORCE_COLOR` forces the decision when * set to a recognized truthy/falsy value; otherwise color follows the TTY-ness * of the stream. Pure and env-injected so it is trivially testable. */ export declare function computeColorEnabled(env: Record, isTty: boolean | undefined): boolean; export declare function isColorEnabled(): boolean; /** Color/weight helpers. Each is the identity function when color is disabled. */ export declare const style: { readonly bold: (text: string) => string; readonly dim: (text: string) => string; readonly red: (text: string) => string; readonly green: (text: string) => string; readonly yellow: (text: string) => string; readonly cyan: (text: string) => string; readonly gray: (text: string) => string; }; /** * Render a status badge as a fixed-width prefix (badge + trailing space). With * color on it is a green/yellow/dim/red glyph; with color off it falls back to * an equal-width ASCII tag so columns still line up in plain output. */ export declare function badge(status: ValidationStatus): string; /** * Render aligned `label value` rows: labels are padded to the widest label so * values line up, replacing the hand-tuned `padEnd` blocks. `indent` prefixes * every row with that many spaces (used to nest rows under a section rule). * Returns one string with a trailing newline per row (empty when there are no * rows). */ export declare function keyValue(rows: ReadonlyArray, indent?: number): string; /** * A horizontal section divider, optionally labeled — `── instance ────────`. * Width tracks the terminal (read at call time so resizes are honored), capped * for readability and falling back to a fixed width when stdout is not a TTY. * Rendered dim/gray (identity when color is off); the label appears verbatim so * it stays greppable. Always ends with a newline. */ export declare function rule(label?: string): string; /** Badge for a channel status *kind* string (running/waiting…/disabled/error). */ export declare function channelBadge(kind: string): string; /** Badge for a trace-source health word (running/stale/stopped/…). */ export declare function healthBadge(health: string): string; /** A bold/cyan section heading with a trailing newline. */ export declare function heading(text: string): string; /** The CLI title block: bold title plus an optional dim subtitle. */ export declare function banner(title: string, subtitle?: string): string; /** A red error line (✗ prefix) with a trailing newline — write to stderr. */ export declare function errorLine(message: string): string; /** A dim hint line (→ prefix) with a trailing newline. */ export declare function hint(message: string): string; //# sourceMappingURL=ui.d.ts.map