/** * ThemeManager - handles theme switching and persistence */ import type { ThemeConfig } from '../types'; export interface ThemeManagerConfig { /** localStorage key for theme persistence */ storageKey: string; /** Available themes */ themes: ThemeConfig[]; /** Default theme if none saved */ defaultTheme: string; } export declare class ThemeManager { private storageKey; private themes; private defaultTheme; constructor(config: ThemeManagerConfig); /** * Apply saved theme immediately (call before DOM ready). * This is a static method to be called as IIFE at module load time * to prevent flash of default theme. * * @example * // In browser-entry.ts, call immediately: * ThemeManager.applyEarlyTheme('dungeo-theme'); */ static applyEarlyTheme(storageKey: string): void; /** * Get saved theme from localStorage */ getSavedTheme(): string; /** * Save theme to localStorage */ saveTheme(theme: string): void; /** * Apply a theme to the document and update menu checkmarks */ applyTheme(theme: string): void; /** * Update theme option checkmarks in the menu. Per ADR-170, the * theme picker uses `.sharpee-menu-option[data-theme]` items and the * `--checked` state modifier marks the active selection. */ updateMenuCheckmarks(activeTheme: string): void; /** * Get the available themes */ getThemes(): ThemeConfig[]; /** * Get the default theme */ getDefaultTheme(): string; } //# sourceMappingURL=ThemeManager.d.ts.map