export interface MCPCatalogAssemblerConfig { staticDirs: string[]; recipesDir: string; outputPath: string; version: string; } /** * Assembles the final component-catalog.json from per-package _catalog.json * files and extracted recipe data. */ export declare class MCPCatalogAssembler { private config; constructor(config: MCPCatalogAssemblerConfig); assemble(): Promise<{ outputPath: string; componentCount: number; recipeCount: number; }>; private collectComponents; private extractRecipes; private extractRecipeFromMeta; /** * Extract the `const recipeCode = …` live-preview source from a recipe * `+page.svelte`. * * A backslash escape is skipped whole. Without that, an escaped backtick * inside the literal — the legal way to write one, and the only way a prose * comment in the snippet can quote a prop name — closed the scan early, and * `get_recipe` shipped the recipe truncated at that point with nothing * reporting it. (An *un*escaped backtick is a syntax error the Svelte * compiler already catches, so this is the half no other gate sees.) */ static extractRecipeCode(content: string): string; /** * Resolve template-literal escape sequences the way JS does when the page * renders the string. The literals escape more than the backtick: the * closing `<\/script>` and — since the 2026-08-16 rollout — the OPENING * `<\script` too (Vite's dependency scanner extracts script blocks from * .svelte files with an HTML lexer, so a raw `