/** * Component themes knowledge base - loads component theme data from JSON. * This provides the LLM with accurate design tokens for each component. */ /** * Represents a design token (themeable property) for a component. */ export interface ComponentToken { /** Token name (e.g., 'background', 'border-color') */ name: string; /** Sass type (e.g., 'Color', 'Number', 'List', 'box-shadow') */ type: string; /** Description of what this token controls */ description: string; } /** * Represents a primary token entry extracted from SassDoc descriptions. */ export interface PrimaryToken { /** Token name without $ prefix (e.g., 'background', 'header-background') */ name: string; /** Brief description of what this token controls and what it derives */ description: string; } /** * Represents a component theme definition. */ export interface ComponentTheme { /** Component name (e.g., 'button', 'avatar') */ name: string; /** The Sass function name (e.g., 'button-theme', 'avatar-theme') */ themeFunctionName: string; /** Title/description of the theme (e.g., 'Calendar Theme') */ description: string; /** Structured primary tokens extracted from SassDoc */ primaryTokens?: PrimaryToken[]; /** Optional summary prose about token behavior */ primaryTokensSummary?: string; /** Available design tokens */ tokens: ComponentToken[]; } export interface ComponentThemeResolution { theme?: ComponentTheme; resolvedName?: string; error?: string; } /** * All component themes loaded from JSON. */ export declare const COMPONENT_THEMES: Record; /** * List of all available component names. */ export declare const COMPONENT_NAMES: string[]; /** * Get a component theme by name. * @param componentName - The component name (e.g., 'button', 'avatar') * @returns The component theme or undefined if not found */ export declare function getComponentTheme(componentName: string): ComponentTheme | undefined; /** * Resolve a component theme by name, falling back to metadata alias when needed. * @param componentName - The component name (e.g., 'button', 'avatar') * @returns Resolution with resolved theme name or error details */ export declare function resolveComponentTheme(componentName: string): ComponentThemeResolution | undefined; /** * Get the token names for a component. * @param componentName - The component name * @returns Array of token names or empty array if component not found */ export declare function getTokenNames(componentName: string): string[]; /** * Validate that all provided tokens exist for a component. * @param componentName - The component name * @param tokenNames - Array of token names to validate * @returns Object with isValid flag and any invalid tokens */ export declare function validateTokens(componentName: string, tokenNames: string[]): { isValid: boolean; invalidTokens: string[]; validTokens: string[]; }; /** * Find components that match a search query. * @param query - Search string to match against component names * @returns Array of matching component names */ export declare function searchComponents(query: string): string[];