/** * CSS Variable Generator * * Converts theme definitions into CSS custom properties for runtime theming. * Generates CSS variables for colors, typography, spacing, elevation, etc. */ import type { Theme } from './types.js'; /** * CSS variable generation options */ export interface GenerateCSSOptions { /** CSS variable prefix (default: --smrt) */ prefix?: string; /** Include theme ID as data attribute selector */ includeDataAttr?: boolean; } /** * Generate all CSS custom properties for a theme * @param theme - Theme definition * @param isDark - Whether to use dark mode colors * @param options - Generation options * @returns Object with CSS variable names and values * @deprecated Prefer the static per-preset stylesheets * (`themes/styles/.css`) selected by `data-theme`/`data-color-scheme` * attributes — ThemeProvider uses them by default for built-in presets. This * runtime path remains for custom registered themes, which have no static * stylesheet, and for the `inlineVariables` escape hatch. */ export declare function generateThemeVariables(theme: Theme, isDark: boolean, options?: GenerateCSSOptions): Record; /** * Convert variables object to CSS style string * @param variables - Record of CSS variable names and values * @returns CSS string for style attribute */ export declare function variablesToStyleString(variables: Record): string; /** * Generate CSS class content for a theme * @param theme - Theme definition * @param isDark - Whether to use dark mode * @param options - Generation options * @returns CSS string for embedding in a