/** * Contract interface for class-candidate CSS processing engines. * * Implementations are supplied by explicit extensions such as * `@veryfront/ext-css-tailwind`. * * The contract exposes a provider-neutral compile surface: a stateful * compiler is constructed once per stylesheet and emits CSS output for the * set of class-name candidates discovered at render time. Core scans the * rendered HTML for candidates and calls `CSSCompiler.build(candidates)` * on each request; the compiler accumulates state across calls, so exact * candidate-snapshot isolation is the caller's responsibility (see * `css-compiler-cache.ts`). * * @module extensions/css/css-processor */ /** Registry name used for the CSS compiler extension contract. */ export declare const CSSProcessorName: "CSSProcessor"; export declare const MAX_CSS_PROCESSOR_IDENTITY_CHARACTERS = 512; export declare const MAX_CSS_PROCESSOR_DEFAULT_STYLESHEET_CHARACTERS: number; /** Stateful compiler returned by {@link CSSProcessor.compile}. */ export interface CSSCompiler { /** * Emit CSS for the supplied list of class-name candidates. Stateful — the * compiler accumulates candidates across calls for the lifetime of the * underlying compile session. */ build(candidates: string[]): string; } /** * CSSProcessor contract interface. * * Implementations wire a class-candidate CSS compiler so * core's styles-builder can emit per-request CSS without importing the * underlying engine directly. */ export interface CSSProcessor { /** Stable identity for every processor/compiler input that can change emitted CSS. */ readonly cacheIdentity: string; /** Provider-owned stylesheet used when an application does not supply one. */ readonly defaultStylesheet: string; /** * Compile a stylesheet. Implementations own all vendor imports, base * stylesheets, module resolution, and plugin loading behind this operation. */ compile(stylesheet: string): Promise; } /** Capture a compiler method once so accessors and later mutation cannot redirect a build. */ export declare function captureCSSCompiler(value: unknown): CSSCompiler; /** Validate an implementation received through the dynamic extension registry. */ export declare function assertCSSProcessor(value: unknown): asserts value is CSSProcessor; /** * Capture the complete processor surface once. A registry or implementation * mutation can therefore affect only a subsequently acquired operation. */ export declare function captureCSSProcessor(value: unknown): CSSProcessor; //# sourceMappingURL=css-processor.d.ts.map