import type { CSSProperties } from '../utils/css-engine'; /** * Primitive variant value supported by the recipe system. */ export type VariantValue = string | number | boolean | null | undefined; export type VariantDefinitions> = { [VariantKey in keyof Variants]?: Record; }; export interface CompoundVariant> { when: Partial>; styles: CSSProperties; } export interface RecipeSelectors { [selector: string]: CSSProperties; } export interface FluentRecipe = Record> { base: CSSProperties; variants?: VariantDefinitions; compoundVariants?: Array>; selectors?: RecipeSelectors; tokens?: CSSProperties; } export interface ComputedRecipe { host: CSSProperties; selectors: RecipeSelectors; } /** * Responsible for mapping a recipe definition + runtime variants into a * concrete CSS object. The implementation is intentionally allocation-light so * that we can execute it for every host update without blowing budgets. */ export declare class RecipeEngine { static compute>(recipe: FluentRecipe, variants?: Partial): ComputedRecipe; static toStyleMap(computed: ComputedRecipe, hostSelector?: string): RecipeSelectors; } //# sourceMappingURL=recipe-engine.d.ts.map