/** * Riverty Design System: Theming Utilities * * Provides runtime theme management for applications. * Usage: * import { createThemeManager } from '@riverty/theme-utilities'; * const manager = createThemeManager(); * manager.setTheme('dark'); * manager.setUIVersion('default'); */ export type Theme = 'light' | 'dark' | 'auto'; export type UIVersion = 'modern' | 'default' | 'tiktok' | string; interface ThemeManagerOptions { storageKey?: string; uiStorageKey?: string; defaultTheme?: Theme; defaultUIVersion?: UIVersion; rootElement?: HTMLElement; } interface ThemeManagerState { theme: Theme; resolvedTheme: 'light' | 'dark'; uiVersion: UIVersion; } /** * Creates a theme manager instance for controlling theme at runtime. * Manages data-theme and data-ui attributes and localStorage persistence. */ export declare function createThemeManager(options?: ThemeManagerOptions): { getState: () => ThemeManagerState; setTheme: (theme: Theme) => void; setUIVersion: (uiVersion: UIVersion) => void; toggleTheme: () => void; subscribe: (callback: () => void) => () => boolean; watchSystemTheme: (callback: (theme: "light" | "dark") => void) => () => any; }; /** * Detects current theme from DOM. * Useful for SSR or reading current state. */ export declare function detectCurrentTheme(rootElement?: HTMLElement): { theme: string; uiVersion: string; }; /** * Exports theme utilities to window for console/script access. * Useful for testing and debugging. */ export declare function exposeThemeManagerGlobally(manager: ReturnType): void; export {};