/** * Semantic color tokens for the terminal UI design system. * * Each token defines three tiers of color fidelity: * - ansi16: 16-color ANSI fallback (works everywhere, respects user theme) * - ansi256: 256-color palette (most modern terminals) * - truecolor: 24-bit RGB (Ghostty, Kitty, iTerm2, Windows Terminal) * * The color engine automatically selects the appropriate tier based on * terminal capability and environment variables (NO_COLOR, COLORTERM, TERM). */ export interface ColorValue { readonly ansi16: string; readonly ansi256: string; readonly truecolor: string; } export interface BgColorValue { readonly ansi16: string; readonly ansi256: string; readonly truecolor: string; } /** General purpose text colors */ export interface FgTokens { readonly text: ColorValue; readonly muted: ColorValue; readonly dim: ColorValue; readonly accent: ColorValue; readonly success: ColorValue; readonly error: ColorValue; readonly warning: ColorValue; readonly border: ColorValue; readonly borderAccent: ColorValue; readonly borderMuted: ColorValue; } /** Message-specific colors */ export interface MessageFgTokens { readonly userMessageText: ColorValue; readonly assistantMessageText: ColorValue; readonly customMessageText: ColorValue; readonly customMessageLabel: ColorValue; readonly thinkingOff: ColorValue; readonly thinkingMinimal: ColorValue; readonly thinkingLow: ColorValue; readonly thinkingMedium: ColorValue; readonly thinkingHigh: ColorValue; readonly thinkingXhigh: ColorValue; } /** Tool display colors */ export interface ToolFgTokens { readonly toolTitle: ColorValue; readonly toolOutput: ColorValue; readonly toolDiffAdded: ColorValue; readonly toolDiffRemoved: ColorValue; readonly toolDiffContext: ColorValue; } /** Markdown rendering colors */ export interface MarkdownFgTokens { readonly mdHeading: ColorValue; readonly mdLink: ColorValue; readonly mdLinkUrl: ColorValue; readonly mdCode: ColorValue; readonly mdCodeBlock: ColorValue; readonly mdCodeBlockBorder: ColorValue; readonly mdQuote: ColorValue; readonly mdQuoteBorder: ColorValue; readonly mdHr: ColorValue; readonly mdListBullet: ColorValue; } /** Syntax highlighting colors */ export interface SyntaxFgTokens { readonly syntaxComment: ColorValue; readonly syntaxKeyword: ColorValue; readonly syntaxFunction: ColorValue; readonly syntaxVariable: ColorValue; readonly syntaxString: ColorValue; readonly syntaxNumber: ColorValue; readonly syntaxType: ColorValue; readonly syntaxOperator: ColorValue; readonly syntaxPunctuation: ColorValue; } /** Mode-specific colors */ export interface ModeFgTokens { readonly bashMode: ColorValue; } export interface BgTokens { readonly selectedBg: BgColorValue; readonly userMessageBg: BgColorValue; readonly customMessageBg: BgColorValue; readonly toolPendingBg: BgColorValue; readonly toolSuccessBg: BgColorValue; readonly toolErrorBg: BgColorValue; readonly panelBg: BgColorValue; readonly surfaceBg: BgColorValue; readonly overlayBg: BgColorValue; } export interface ColorTokens { readonly fg: FgTokens & MessageFgTokens & ToolFgTokens & MarkdownFgTokens & SyntaxFgTokens & ModeFgTokens; readonly bg: BgTokens; } export interface StableThemeTokens { readonly text: ColorValue; readonly muted: ColorValue; readonly accent: ColorValue; readonly success: ColorValue; readonly warning: ColorValue; readonly error: ColorValue; readonly border: ColorValue; readonly selection: BgColorValue; } export declare function getStableThemeTokens(tokens: ColorTokens): StableThemeTokens; export declare function validateStableThemeTokens(tokens: Partial): string[]; export declare const RESET = "\u001B[0m"; export declare const BOLD = "\u001B[1m"; export declare const ITALIC = "\u001B[3m"; export declare const UNDERLINE = "\u001B[4m"; export declare const STRIKETHROUGH = "\u001B[9m"; //# sourceMappingURL=tokens.d.ts.map