/** * CLAI theme tokens (V2-030 / QUALITY "visual correctness"). * * Palette is anchored to the CLAI wordmark gradient (magenta → blue → cyan) * plus the legacy amber mode badge, green READY/success, and aqua chrome. * Components should pull from these tokens — never scatter raw hex. */ import type { ThemeHint } from "../bootstrap/capabilities.js"; export interface Theme { readonly background: string; readonly foreground: string; readonly muted: string; readonly accent: string; readonly border: string; readonly statusBackground: string; /** Selected row / focus highlight (legacy #2563EB). */ readonly selection: string; /** Alternating list row A (legacy #1E293B). */ readonly rowA: string; /** Alternating list row B (legacy #0F172A). */ readonly rowB: string; /** Chip / badge slate (legacy #334155). */ readonly chip: string; /** Mode badge amber / RUNNING (legacy #B45309). */ readonly mode: string; /** * Success / done / READY green — bright enough to read on dark panes * (tasks list, toasts, confirmations). Not a dim forest green. */ readonly success: string; /** * Dark green plate for "done" status chips (white label on solid bg). * Brighter `success` is for text/borders only — too light as a fill. */ readonly successBg: string; /** * Dark red plate for "failed" / "blocked" status chips (white on solid bg). * Brighter `diffDel` stays for text/borders. */ readonly failedBg: string; /** * Wordmark top-of-"I" magenta (`WORDMARK_TOP_HEX` / chalk.magentaBright). * Used for plan/task pane border, agent-card frame, output accents. */ readonly magenta: string; /** Soft cyan for command labels (legacy #67E8F9). */ readonly cyan: string; readonly aqua: string; readonly white: string; /** Assistant / model reply body (user request: green chat text). */ readonly response: string; /** Amber/yellow activity text while RUNNING (legacy yellow). */ readonly activity: string; /** * Dark amber plate for "running" status chips (white label on solid bg). * Brighter `activity` is for text/borders only — too light as a fill. */ readonly activityBg: string; /** Spinner color while RUNNING (legacy magenta). */ readonly spinner: string; /** Queued badge amber-dark (legacy #854D0E). */ readonly queued: string; /** Teal chip for idle command shortcuts (richer than flat slate). */ readonly chipTeal: string; /** Indigo chip alternate for idle shortcuts. */ readonly chipIndigo: string; /** * Prompt / YOU badge background — warm amber (matches user bubble border). */ readonly prompt: string; /** Thinking / reasoning text (violet). */ readonly thinking: string; /** * Input / composer border, ❯ mark, and cursor — electric aqua, a step * stronger than the `/` command menu border (`theme.border` #22D3EE). */ readonly inputBorder: string; /** User prompt bubble border — warm amber. */ readonly userBorder: string; /** Tool card chrome accent (legacy mid-blue). */ readonly toolBorder: string; /** Tool OUTPUT body text (readable sky cyan). */ readonly toolOutput: string; /** Modal accent border. */ readonly modalBorder: string; /** Added lines in file-diff cards / pager (green). */ readonly diffAdd: string; /** Removed lines in file-diff cards / pager (red). */ readonly diffDel: string; /** Line-number gutter for diffs. */ readonly diffGutter: string; /** Soft background wash for added diff lines (Cursor-style). */ readonly diffAddBg: string; /** Soft background wash for removed diff lines. */ readonly diffDelBg: string; /** Syntax: keyword (blue). */ readonly synKeyword: string; /** Syntax: string (orange). */ readonly synString: string; /** Syntax: comment. */ readonly synComment: string; /** Syntax: number. */ readonly synNumber: string; /** Syntax: function name. */ readonly synFunction: string; /** Syntax: type / class. */ readonly synType: string; /** Syntax: property / attr. */ readonly synProperty: string; /** Syntax: operator. */ readonly synOperator: string; /** Syntax: regex. */ readonly synRegex: string; } export declare function themeFor(hint: ThemeHint): Theme;