/** * The ONE ANSI palette Vendo paints with, and the one rule for whether it * paints at all. * * Two surfaces need it — the CLI's rail renderer (`cli/pretty.ts`) and the boot * summary `createVendo` prints — and core is the only package both may import: * a block may not import `@vendoai/vendo` (scripts/dependency-guard.mjs), so a * palette living in the umbrella could never be shared downward. * * The MARKERS (◆ ◇ │ ✓ ⚠ ✖) are deliberately not here. They are layout, not * colour: each call site owns the ones its own block draws. */ export interface VendoStyle { /** Whether this run should be styled AT ALL: stdout is a real TTY and none of NO_COLOR / CI / TERM=dumb opts out. ASK THIS FIRST — the helpers below always paint, because the renderer that owns most of them is only ever selected for a terminal and has to paint identically under an injected test writer. A caller composing a styled block gates on `pretty` and emits plain text when it is false. */ readonly pretty: boolean; bold(text: string): string; dim(text: string): string; /** Added, healthy, done. */ ok(text: string): string; /** Changed, degraded, worth a second look. */ warn(text: string): string; /** Broken. */ bad(text: string): string; accent(text: string): string; /** An inline `code span`: the accent, emphasized. */ code(text: string): string; } export declare function vendoStyle(stream?: { isTTY?: boolean; }, env?: Record): VendoStyle;