import { type CatalogFile } from "./actions/index.js"; import type { ComponentCatalog, ComponentRegistry, NormalizedCatalog } from "./core/apps/index.js"; /** Task 15a: the parsed-catalog leg of runtimeCatalogFromJson, exported so an * in-memory `profile.catalog` (already the catalog@1 file shape) normalizes * through the SAME validator-building path as the disk read. */ export declare function runtimeCatalogFromFile(parsed: CatalogFile, /** What a bad entry's warning names as its origin — the file by default, because * that is where all but the in-memory `profile.catalog` caller reads from. */ source?: string): NormalizedCatalog; /** * Strictly parses catalog@1. Disk entries carry their JSON Schema for * prompting AND validation: the same document drives both (04 §1). */ export declare function runtimeCatalogFromJson(raw: string | undefined, file?: string): NormalizedCatalog; /** * 01 §14 (amended 2026-07-18): normalize a `createVendo({ catalog })` value — * array form or name-keyed registry form — into the internal catalog. Registry * entries: key → `name`, `props` → `propsSchema`, `component` dropped (the * server never touches or executes it). Derivation happens here, once. */ export declare function normalizeCatalogConfig(config: ComponentCatalog | ComponentRegistry | undefined, /** What a bad entry's error names as its origin. */ source?: string): NormalizedCatalog; /** Explicit createVendo registrations win by name over disk registrations. */ export declare function mergeRuntimeCatalog(disk: NormalizedCatalog, explicit?: NormalizedCatalog): NormalizedCatalog;