/** * ModuleUIRegistry - Global registry for module UI components * * This mirrors the AgentUIRegistry pattern from @happyvertical/smrt-agents * but for general SMRT modules that want to provide Svelte UI components. * * @example Registering components (in module's svelte subpath) * ```typescript * // packages/commerce/src/svelte/index.ts * import { ModuleUIRegistry } from '@happyvertical/smrt-ui/registry'; * import { COMMERCE_MODULE_META } from '../ui.js'; * import InvoiceCard from './components/InvoiceCard.svelte'; * * ModuleUIRegistry.registerModule(COMMERCE_MODULE_META); * ModuleUIRegistry.register('@happyvertical/smrt-commerce', 'invoice-card', InvoiceCard); * * export { InvoiceCard }; * ``` * * @example Using components (in host app) * ```typescript * // SvelteKit app * import { ModuleUIRegistry } from '@happyvertical/smrt-ui/registry'; * import '@happyvertical/smrt-commerce/svelte'; // Auto-registers components * * const InvoiceCard = ModuleUIRegistry.get('@happyvertical/smrt-commerce', 'invoice-card'); * ``` */ import type { ModuleUIRegistryInterface } from '@happyvertical/smrt-types'; /** * Create a new module UI registry * * Follows the same pattern as createUIRegistry() in smrt-agents. */ export declare function createModuleUIRegistry(): ModuleUIRegistryInterface; /** * Global ModuleUIRegistry singleton * * Module UI packages register their components here at import time, * enabling discovery by host applications. * * @example * ```typescript * // In module svelte package (e.g., @happyvertical/smrt-commerce/svelte) * import { ModuleUIRegistry } from '@happyvertical/smrt-ui/registry'; * import InvoiceCard from './InvoiceCard.svelte'; * * ModuleUIRegistry.register('@happyvertical/smrt-commerce', 'invoice-card', InvoiceCard); * * // In host SvelteKit app * import { ModuleUIRegistry } from '@happyvertical/smrt-ui/registry'; * import '@happyvertical/smrt-commerce/svelte'; // Registers components * * const Component = ModuleUIRegistry.get('@happyvertical/smrt-commerce', 'invoice-card'); * ``` */ export declare const ModuleUIRegistry: ModuleUIRegistryInterface; //# sourceMappingURL=module-registry.d.ts.map