/** * Resolves and parses Tailwind's default theme from node_modules */ import type { CSSVariable, NestingOptions, TailwindDefaultsOptions, Theme } from '../../types'; /** * Clears the default theme cache * Exported for testing purposes only * @internal */ export declare function clearDefaultThemeCache(): void; /** * Attempts to load Tailwind's default theme from node_modules * * Results are cached per base path and nesting configuration with timestamp validation * to detect package updates. This significantly improves performance for repeated calls * while ensuring updates are detected. * * The nesting configuration affects how CSS variables are parsed into theme structure. * When provided, it applies the same nesting rules to Tailwind defaults as to user variables, * ensuring consistent behavior across the entire theme. * * Returns both the theme object and the original CSS variables to preserve variable names * for resolution. This is critical because nesting transformations can change key names * (e.g., `blue-300` → `blue300`), but we need original names for var() resolution. * * @param basePath - Base path to start resolution from (usually process.cwd()) * @param nestingConfig - Optional nesting configuration to apply to default theme variables * @returns Object with theme and original variables, or null if Tailwind is not installed */ export declare function loadTailwindDefaults(basePath?: string, nestingConfig?: NestingOptions): Promise<{ theme: Theme; variables: Array; } | null>; /** * Deep merges two themes, with userTheme taking precedence * * @param defaultTheme - The base theme (Tailwind defaults) * @param userTheme - The user's theme (overrides) * @param options - Controls which properties to merge from defaults (default: all enabled) * @returns Merged theme with user values overriding defaults (only for enabled properties) */ export declare function mergeThemes(defaultTheme: Theme, userTheme: Theme, options?: TailwindDefaultsOptions): Theme;