import{type LyraTheme}from'./theme.js'; /** A named, reusable application theme choice. */ export interface LyraThemePreset{ /** Stable lowercase identifier reflected to `data-lr-theme-preset`. */ readonly id:string; /** Mode/accent/surface fields passed through the production theme runtime. */ readonly theme:Readonly>;} /** Detail emitted on `window` after a preset is applied. */ export interface LyraThemePresetChangeDetail{ /** Applied preset id. */ readonly id:string; /** Complete semantic snapshot the production runtime applied. */ readonly theme:Readonly;}declare global{interface WindowEventMap{'lr-theme-preset-change':CustomEvent;}} /** * Validates and freezes an application-owned preset. The id, closed mode vocabulary, and accent * value shape are checked here; CSS color syntax is validated by the production runtime when the * preset is applied. Presets intentionally contain semantic choices rather than arbitrary token * strings, keeping OS following, contrast validation, persistence, canvas invalidation, and * no-flash boot on the same production path. */ export declare function defineLyraThemePreset(preset:Preset):Readonly; /** Built-in semantic and gemstone-accent choices. */ export declare const LYRA_THEME_PRESETS:Readonly<{system:Readonly<{readonly id:"system";readonly theme:{readonly mode:"auto";readonly accent:null;};}>;light:Readonly<{readonly id:"light";readonly theme:{readonly mode:"light";readonly accent:null;};}>;dark:Readonly<{readonly id:"dark";readonly theme:{readonly mode:"dark";readonly accent:null;};}>;unset:Readonly<{readonly id:"unset";readonly theme:{readonly mode:"unset";readonly accent:null;};}>;emerald:Readonly<{readonly id:"emerald";readonly theme:{readonly mode:"auto";readonly accent:string;};}>;ruby:Readonly<{readonly id:"ruby";readonly theme:{readonly mode:"auto";readonly accent:string;};}>;amethyst:Readonly<{readonly id:"amethyst";readonly theme:{readonly mode:"auto";readonly accent:string;};}>;sapphire:Readonly<{readonly id:"sapphire";readonly theme:{readonly mode:"auto";readonly accent:string;};}>;}>;export type LyraThemePresetName=keyof typeof LYRA_THEME_PRESETS; /** * Applies a built-in key or an application preset. The preset marker and * `lr-theme-preset-change` event are published only when runtime normalization accepts every * explicitly requested field; otherwise `lr-theme-change` remains the truthful notification for * the normalized state and no exact named-preset identity is claimed. */ export declare function applyLyraThemePreset(presetOrName:LyraThemePresetName|Readonly):void;