/**
* Theme CSS Compiler -- `ThemeDef` to `html[data-theme]` selector blocks + transitions.
*
* Emits per-variant CSS blocks overriding `--czap-*` custom properties,
* and optional transition declarations for animated theme switching.
*
* @module
*/
import type { Theme } from '@czap/core';
/**
* Output of {@link ThemeCSSCompiler.compile}.
*
* `selectors` is the concatenated `html[data-theme="variant"]` rule block,
* one per theme variant that has at least one token override. `transitions`
* is the optional `:root { transition-*: … }` block emitted when the theme
* carries metadata indicating animated switching is desired.
*/
export interface ThemeCSSResult {
/** Per-variant `html[data-theme]` selector blocks. */
readonly selectors: string;
/** Optional root transition declarations for animated theme swaps. */
readonly transitions: string;
}
/**
* Compile a {@link Theme.Shape} into per-variant selector blocks and optional
* root transitions.
*/
declare function compile(theme: Theme.Shape): ThemeCSSResult;
/**
* Theme CSS compiler namespace.
*
* Serializes a {@link Theme.Shape} into `html[data-theme="…"]` selector
* overrides of `--czap-*` custom properties and, when theme metadata
* requests it, a `:root` transition block that animates all theme
* property changes.
*/
export declare const ThemeCSSCompiler: {
/** Compile a theme definition into per-variant selector blocks. */
readonly compile: typeof compile;
};
export {};
//# sourceMappingURL=theme-css.d.ts.map