/** * Theme Configuration Utility * Allows dynamic configuration of CSS custom properties at runtime */ export interface ThemeColors { primary?: string; primaryHover?: string; primaryActive?: string; onPrimary?: string; secondary?: string; onSecondary?: string; success?: string; onSuccess?: string; warning?: string; onWarning?: string; danger?: string; onDanger?: string; info?: string; background?: string; surface?: string; border?: string; textPrimary?: string; textSecondary?: string; } export interface ThemeSpacing { xs?: string; sm?: string; md?: string; lg?: string; xl?: string; '2xl'?: string; } export interface ThemeRadius { sm?: string; md?: string; lg?: string; xl?: string; full?: string; } export interface ThemeTypography { fontSans?: string; fontMono?: string; fontSizeBase?: string; fontSizeSm?: string; fontSizeLg?: string; } export interface ThemeConfig { colors?: ThemeColors; spacing?: ThemeSpacing; radius?: ThemeRadius; typography?: ThemeTypography; shadows?: { sm?: string; md?: string; lg?: string; xl?: string; }; transitions?: { fast?: string; base?: string; slow?: string; }; } export declare class ThemeConfigManager { private static instance; private customConfig; private constructor(); static getInstance(): ThemeConfigManager; /** * Apply theme configuration dynamically */ applyConfig(config: ThemeConfig, target?: HTMLElement): void; /** * Apply color configuration */ private applyColors; /** * Apply spacing configuration */ private applySpacing; /** * Apply radius configuration */ private applyRadius; /** * Apply typography configuration */ private applyTypography; /** * Apply shadow configuration */ private applyShadows; /** * Apply transition configuration */ private applyTransitions; /** * Reset all custom configurations */ resetConfig(target?: HTMLElement): void; /** * Get current custom configuration */ getConfig(): Map; /** * Set a single CSS variable */ setVariable(name: string, value: string, target?: HTMLElement): void; /** * Get a single CSS variable value */ getVariable(name: string, target?: HTMLElement): string; } /** * Helper function to apply theme configuration */ export declare function configureTheme(config: ThemeConfig, target?: HTMLElement): void; /** * Helper function to reset theme configuration */ export declare function resetTheme(target?: HTMLElement): void; /** * Predefined theme presets */ export declare const themePresets: { readonly default: { readonly colors: { readonly primary: "#2563eb"; readonly onPrimary: "#ffffff"; }; }; readonly purple: { readonly colors: { readonly primary: "#7c3aed"; readonly primaryHover: "#6d28d9"; readonly primaryActive: "#5b21b6"; readonly onPrimary: "#ffffff"; }; }; readonly green: { readonly colors: { readonly primary: "#059669"; readonly primaryHover: "#047857"; readonly primaryActive: "#065f46"; readonly onPrimary: "#ffffff"; }; }; readonly orange: { readonly colors: { readonly primary: "#ea580c"; readonly primaryHover: "#c2410c"; readonly primaryActive: "#9a3412"; readonly onPrimary: "#ffffff"; }; }; readonly compact: { readonly spacing: { readonly xs: "2px"; readonly sm: "4px"; readonly md: "8px"; readonly lg: "12px"; readonly xl: "16px"; }; }; readonly comfortable: { readonly spacing: { readonly xs: "6px"; readonly sm: "12px"; readonly md: "20px"; readonly lg: "32px"; readonly xl: "48px"; }; }; readonly rounded: { readonly radius: { readonly sm: "6px"; readonly md: "12px"; readonly lg: "20px"; readonly xl: "28px"; }; }; readonly sharp: { readonly radius: { readonly sm: "0px"; readonly md: "0px"; readonly lg: "2px"; readonly xl: "4px"; }; }; }; //# sourceMappingURL=theme-config.d.ts.map