/** * Component Schema Registry * Central registry for component metadata used by the generic editor */ import { ComponentSchema, InspectorPlacement, InspectorTab, ValidationResult } from './FieldMetadata'; export declare class ComponentSchemaRegistry { private schemas; /** * Register a component schema */ register(schema: ComponentSchema): void; /** * Register multiple schemas at once */ registerAll(schemas: ComponentSchema[]): void; /** * Get schema for a component */ get(componentName: string): ComponentSchema | undefined; /** * Check if a component has a registered schema */ has(componentName: string): boolean; /** * Get all registered component names */ getEditableComponents(): string[]; /** Get the inspector tab for a component */ getInspectorTab(componentName: string): InspectorTab; /** Get which inspector surface should render a component */ getInspectorPlacement(componentName: string): InspectorPlacement; /** Get the explicit inspector order for a component (lower renders first) */ getInspectorOrder(componentName: string): number; /** Whether a component can be added from inspector UI */ isAddable(componentName: string): boolean; /** Whether a component can be removed from inspector UI */ isRemovable(componentName: string): boolean; /** Get registered components for a tab or metadata surface */ getComponentsForPlacement(placement: Exclude, tab?: InspectorTab): string[]; /** * Check if a component is structural (requires respawn) */ isStructural(componentName: string): boolean; /** * Get components by group */ getComponentsByGroup(): Record; /** * Validate component data against schema */ validate(componentName: string, data: any): ValidationResult; /** * Clear all registered schemas (for testing) */ clear(): void; /** * Get schema count */ count(): number; } export declare const componentSchemaRegistry: ComponentSchemaRegistry; //# sourceMappingURL=ComponentSchemaRegistry.d.ts.map