/** * Theme override system for applying custom theme value overrides * Supports both pre-resolution (variable injection) and post-resolution (theme mutation) */ import type { CSSVariable, OverrideOptions, Theme, ThemeVariant } from '../../types'; /** * Parsed override entry ready for application */ export interface ParsedOverride { /** Path to the property (e.g., ['colors', 'primary', '500']) */ path: Array; /** The value to override with */ value: string; /** Whether to force-apply this override (ignore confidence levels) */ force: boolean; /** Whether to resolve var() references in this value */ resolveVars: boolean; } /** * Resolves a variant name or CSS selector to matching variant names * * @param selectorOrVariant - Variant name, CSS selector, or special key * @param variants - Map of variant names to theme variants * @returns Array of matching variant names */ export declare function resolveVariantName(selectorOrVariant: string, variants: Record): Array; /** * Applies theme overrides to a variants map (post-resolution) * * @param baseTheme - The base/default theme * @param variants - Map of variant names to theme variants * @param overrides - Override options * @param debug - Enable debug logging * @returns Array of log messages (for debug mode) */ export declare function applyThemeOverrides(baseTheme: Theme, variants: Record, overrides: OverrideOptions, debug?: boolean): Array; /** * Injects synthetic CSS variables from overrides (pre-resolution) * * This allows overrides to participate in the variable resolution pipeline. * Useful for injecting external variables that are referenced but not defined. * * @param variables - Existing CSS variables array * @param overrides - Override options * @param debug - Enable debug logging * @returns Array of log messages (for debug mode) */ export declare function injectVariableOverrides(variables: Array, overrides: OverrideOptions, debug?: boolean): Array;