/** Addon Registry Data */ import type { UiIntegration } from '@ng-forge/dynamic-forms-zod/mcp'; import type { PropertyInfo } from './index.js'; export interface AddonTypeInfo { /** Discriminant matching `addon.type` in form configs. */ type: string; /** Source category — core ships from the library, adapter from a UI-integration package. */ category: 'core' | 'adapter'; /** Provider package; `'core'` means @ng-forge/dynamic-forms. */ package: string; /** Adapter that ships this type, or `null` for core types. */ adapter: UiIntegration | null; /** One-line description of what this type renders. */ description: string; /** * Whether the type survives `JSON.stringify`/`parse`. JSON-safe types may * be referenced from server-driven configs; code-only types are dropped by * the lenient validator when the config came from JSON. */ jsonSafe: boolean; /** Per-type config props (excludes universal `slot`, `className`, `hidden`, `disabled`). */ props: Record; /** Full inline example for documentation. */ example: string; /** Minimal valid config (just required props). */ minimalExample: string; } export declare const ADDON_TYPES: AddonTypeInfo[]; /** * Per-field-type addon support metadata. Records which slots and types a * field type accepts at runtime — feeds the validator's allowed-list checks. */ export interface FieldAddonSupportInfo { /** Field type discriminant (matches `FieldDef.type`). */ fieldType: string; /** Adapter shipping the field — null for core fields. */ adapter: UiIntegration | null; /** Slots this field accepts. */ slots: ('prefix' | 'suffix' | string)[]; /** Whitelist of allowed types (omitted = any registered type). */ allowedTypes?: string[]; } export declare const FIELD_ADDON_SUPPORT: FieldAddonSupportInfo[]; //# sourceMappingURL=addons.d.ts.map