import { ComponentCatalog, ComponentCatalogOptions, ComponentDefinitions } from './types'; /** * Creates a component catalog — the main entry point for the * dynamic component system. * * Returns an object with a remark plugin, markdown component overrides, * and a system-prompt generator, ready to plug into ``. * * @example * ```tsx * import { componentCatalog } from 'reachat'; * import { z } from 'zod'; * * const catalog = componentCatalog({ * WeatherCard: { * description: 'Displays weather for a city', * props: z.object({ * city: z.string(), * temperature: z.number() * }), * component: ({ city, temperature }) => ( *
{city}: {temperature}°F
* ) * } * }); * * // Simple — pass the whole catalog: * * ... * * * // Advanced — use individual pieces: * * ... * * * // Generate LLM instructions: * const prompt = catalog.systemPrompt(); * ``` */ export declare function componentCatalog(definitions: ComponentDefinitions, options?: ComponentCatalogOptions): ComponentCatalog;