/** * Schema Catalog * * Metadata registry describing what each native-ui component accepts: * allowed attributes, properties, children, slots, events, and ARIA * requirements. Used by the GenUI planner to generate valid plans. * * All public data is frozen with Object.freeze. */ export interface ComponentSchema { readonly tag: string; readonly category: 'form' | 'display' | 'navigation' | 'overlay' | 'container' | 'layout'; readonly description: string; readonly attributes: readonly AttributeSchema[]; readonly properties: readonly PropertySchema[]; readonly slots: readonly SlotSchema[]; readonly events: readonly EventSchema[]; readonly aria: AriaRequirements; readonly allowedChildren?: readonly string[]; readonly formAssociated: boolean; } export interface AttributeSchema { readonly name: string; readonly type: 'string' | 'enum' | 'boolean'; readonly values?: readonly string[]; readonly default?: string; readonly description: string; } export interface PropertySchema { readonly name: string; readonly type: 'string' | 'number' | 'boolean' | 'object' | 'array'; readonly description: string; readonly required?: boolean; } export interface SlotSchema { readonly name: string; readonly description: string; readonly allowedTags?: readonly string[]; } export interface EventSchema { readonly name: string; readonly description: string; readonly detail?: string; } export interface AriaRequirements { readonly role?: string; readonly requiredAttributes?: readonly string[]; readonly autoLabeled?: boolean; } export declare const SCHEMA_CATALOG: ReadonlyMap; export declare function getSchema(tag: string): ComponentSchema | undefined; export declare function getSchemasForCategory(category: ComponentSchema['category']): readonly ComponentSchema[]; export declare function getSchemaAttribute(tag: string, attrName: string): AttributeSchema | undefined; //# sourceMappingURL=schema-catalog.d.ts.map