/** * EntityRegistry.ts * * Entity management: creation, destruction, tag-based queries, * archetype tracking, and hierarchical parent-child relationships. * * @module ecs */ export interface Entity { id: number; name: string; active: boolean; tags: Set; components: Set; parent: number | null; children: number[]; createdAt: number; } export declare class EntityRegistry { private entities; private nextId; private recycledIds; private tagIndex; private nameIndex; create(name?: string, tags?: string[]): Entity; destroy(id: number): boolean; get(id: number): Entity | undefined; getByName(name: string): Entity | undefined; getByTag(tag: string): Entity[]; getByComponents(...componentTypes: string[]): Entity[]; getAll(): Entity[]; getActiveCount(): number; getTotalCount(): number; addTag(id: number, tag: string): boolean; removeTag(id: number, tag: string): boolean; hasTag(id: number, tag: string): boolean; setParent(childId: number, parentId: number): boolean; getChildren(id: number): Entity[]; registerComponent(entityId: number, componentType: string): boolean; unregisterComponent(entityId: number, componentType: string): boolean; hasComponent(entityId: number, componentType: string): boolean; setActive(id: number, active: boolean): void; } //# sourceMappingURL=EntityRegistry.d.ts.map