/** * ComponentRegistry.ts * * Registry for component type schemas and defaults. * Ensures consistent component creation across the ECS. */ export interface ComponentSchema { type: string; defaultData: () => any; description?: string; } export declare class ComponentRegistry { private schemas; /** * Register a component type with its default data factory. */ register(schema: ComponentSchema): void; /** * Get the schema for a component type. */ getSchema(type: string): ComponentSchema | undefined; /** * Create default data for a component type. */ createDefault(type: string): any; /** * Check if a component type is registered. */ has(type: string): boolean; /** * List all registered component types. */ listTypes(): string[]; /** * Get count of registered types. */ get count(): number; } export declare function registerBuiltInComponents(registry: ComponentRegistry): void; //# sourceMappingURL=ComponentRegistry.d.ts.map