/** * The **Theme Variable Registry** — the single source of truth for every * themeable Photon Grid design token. It is derived directly from the base * (light) theme, so every entry's {@link ThemeVariable.cssVar} is a real * `--pg-*` custom property that actually resolves, and {@link ThemeVariable.defaultValue} * is the true default. The AI Theme Engine consults the registry to build * prompts and to reject any variable the model invents. * * Categories and value types are derived by rule from each token's group and * key (see {@link resolveCategory}/{@link resolveType}), keeping the registry in * lock-step with the token definitions with zero hand-maintained duplication. * Applications can {@link ThemeVariableRegistry.register} additional variables. * * @packageDocumentation */ import { ThemeCategory } from '../../types/theme-ai.types'; import type { ThemeVariable, ThemeVariableRegistryReader } from '../../types/theme-ai.types'; /** * Builds the full list of themeable variables from the base theme tokens. Each * variable's `cssVar` and `defaultValue` come straight from the token object, so * generated names always resolve to a real property. */ export declare function buildDefaultThemeVariables(): ThemeVariable[]; /** Registry of themeable `--pg-*` variables. Read surface implements {@link ThemeVariableRegistryReader}. */ export declare class ThemeVariableRegistry implements ThemeVariableRegistryReader { private readonly byName; /** Seeds the registry with the base-theme variables (or a supplied list). */ constructor(initial?: readonly ThemeVariable[]); /** Register (or replace) a themeable variable — lets apps expose custom tokens to the AI. */ register(variable: ThemeVariable): void; getAll(): readonly ThemeVariable[]; getByCategory(category: ThemeCategory): readonly ThemeVariable[]; getByName(cssVar: string): ThemeVariable | undefined; has(cssVar: string): boolean; getCategories(): readonly ThemeCategory[]; } //# sourceMappingURL=theme-variable-registry.d.ts.map