/** Serialises everything `css.create()` and friends have registered so far. */ export declare function renderStyles(minify?: boolean): string; /** Empties the registry. Tests and watch-mode rebuilds need this. */ export declare function resetStyles(): void; /** How many distinct atomic classes exist right now. */ export declare function styleCount(): number; /** * Increments every time the registry is cleared. * * Rules are registered as a side effect of module evaluation, and a module * only evaluates once per specifier — so after a reset the modules that * declared those rules would stay cached and never re-register them. Folding * this counter into the import specifier makes a reset genuinely start over. */ export declare function styleGeneration(): number; export declare const registry: StyleRegistry; /** * One atomic declaration: a single property/value pair under a fixed chain of * conditions, owning exactly one class name. */ export declare interface AtomicRule { className: string property: string values: string[] conditions: string[] priority: number } /** A `@keyframes` block keyed by its generated animation name. */ export declare interface KeyframesRule { name: string css: string } /** A custom-property definition, optionally scoped to a selector/at-rule. */ export declare interface VarRule { selector: string atRule?: string declarations: Record } /** * Process-wide store of everything the style API has generated. * * `css.create()` registers as a side effect of module evaluation, which is * what lets the build collect styles by simply importing the modules that * declare them — no AST pass, and no chance of the emitted CSS disagreeing * with the class names the app actually renders. */ declare class StyleRegistry { addRule(rule: AtomicRule): void; addKeyframes(rule: KeyframesRule): void; addVars(rule: VarRule): void; has(className: string): boolean; get size(): number; clear(): void; get currentGeneration(): number; toCSS(minify?: boolean): string; }