/** * One resolver for "what does this stored hud.theme value render as" — the * logic both lanes need before a patch (the base), a report (the `before` * side), or a verdict (`show`/`check`) can exist. * * It lived twice: the write tool's currentEffectiveTheme and the CLI's * readStoredTheme each hand-rolled the stored-value→tokens mapping, and they * had already diverged — the CLI copy named an unknown preset truthfully while * the agent copy silently folded it into "the engine default". A new stored * form (or a label fix) had to land twice with nothing watching. This file is * part of the byte-identical kit mirror, so the gate now watches. */ export interface ResolvedStoredTheme { kind: 'preset' | 'custom' | 'none' | 'unknown-preset'; /** The tokens the engine renders for this stored value. */ tokens: Record; /** Human-readable description of where `tokens` came from. */ label: string; } /** Resolve a raw `worldProfileData.hud.theme` value to what the engine renders. */ export declare function resolveStoredTheme(stored: unknown): ResolvedStoredTheme;