// src/engine/core/IComponentRegistryLike.ts

/**
 * Minimal component registry interface for context.
 *
 * This is a subset of IComponentRegistry (in core/IComponentRegistry.ts)
 * to avoid circular dependencies. The full IComponentRegistry extends this
 * with additional methods (localTags, allTags, parent).
 */
export interface IComponentRegistryLike {
  resolve(tag: string): Promise<unknown>;
  register(tag: string, loader: unknown): void;
  has(tag: string): boolean;
  createChild(): IComponentRegistryLike;
  /** Get constructor by name (used by SchemaEvaluator) */
  getConstructor?(name: string): (new () => unknown) | undefined;
}
