import type { APIData, EnrichedComponentInfo } from '../../types'; export interface ComponentCatalogEntry { name: string; slug: string; package: string; group: 'primitives' | 'components' | 'core'; /** The long form: the contract an agent reads. */ description: string; /** * The short form: one sentence for a human, under the component's name. * Absent while a component still has no `@summary` — consumers fall back to * `description`, which is what the landing page did before the split. */ summary?: string; /** * Editorial maturity. Extracted per component since forever, but dropped on * the way into this catalog until 2026-07-27 — which is why the landing * page carried a hand-written list of beta components that named four of * the thirty-eight. */ stability?: 'experimental' | 'beta' | 'stable' | 'deprecated'; tags: string[]; import: string; llmTxtPath: string; variants: { name: string; values: string[]; default?: string; }[]; keyProps: string[]; /** * Size of the component's own API: direct + variant props, inherited HTML * attributes excluded. Mirrors `stats.totalProps`, the number each doc page * prints — distinct from `keyProps.length`, which caps at eight. */ propCount: number; /** Non-primitive prop types (objects, arrays, unions) — omits string/boolean/number */ keyPropTypes: Record; slots: string[]; hasExamples: boolean; relatedComponents: string[]; } export interface RecipeEntry { id: string; title: string; description: string; components: string[]; code: string; features: string[]; /** Layer-4 composition pattern this recipe instantiates (e.g. "dashboard"). Cross-links to `get_pattern`. */ pattern?: string; } export interface ComponentCatalog { generated: string; version: string; components: ComponentCatalogEntry[]; recipes: RecipeEntry[]; tags: string[]; } /** * Generates per-package catalog entries as JSON for MCP server consumption. * The output is a partial catalog that gets assembled into the final * component-catalog.json by MCPCatalogAssembler. */ export declare class MCPCatalogGenerator { private packageName; private llmOutputPath; constructor(packageName: string, llmOutputPath: string); generate(enrichedComponents: EnrichedComponentInfo[], apiData: APIData): Promise<{ path: string; count: number; }>; private buildEntry; } //# sourceMappingURL=MCPCatalogGenerator.d.ts.map