/** * ComponentStore.ts * * Typed component storage: Structure-of-Arrays layout, * add/remove/get per entity, iteration, and bulk operations. * * @module ecs */ export interface ComponentPool> { type: string; data: Map; } export declare class ComponentStore { private pools; registerPool>(type: string): ComponentPool; getPool>(type: string): ComponentPool | undefined; hasPool(type: string): boolean; getPoolTypes(): string[]; add>(type: string, entityId: number, data: T): boolean; remove(type: string, entityId: number): boolean; get>(type: string, entityId: number): T | undefined; has(type: string, entityId: number): boolean; set>(type: string, entityId: number, data: Partial): boolean; forEach>(type: string, callback: (entityId: number, data: T) => void): void; getEntitiesWithComponent(type: string): number[]; getEntitiesWithAll(...types: string[]): number[]; removeAllForEntity(entityId: number): number; getComponentCount(type: string): number; getTotalComponentCount(): number; clear(type?: string): void; } //# sourceMappingURL=ComponentStore.d.ts.map