import { Entity } from './entity.js'; export interface EntityPoolSnapshot { readonly capacity: number; readonly activeOrder: readonly number[]; readonly freeList: readonly number[]; readonly pendingFree: readonly number[]; } export declare class EntityPool implements Iterable { private readonly entities; private readonly freeList; private readonly pendingFree; private activeHead; constructor(maxEntities?: number); get world(): Entity; get capacity(): number; get activeCount(): number; getByIndex(index: number): Entity | undefined; [Symbol.iterator](): Iterator; spawn(): Entity; deferFree(entity: Entity): void; freeImmediate(entity: Entity): void; flushFreeList(): void; createSnapshot(): EntityPoolSnapshot; restore(snapshot: EntityPoolSnapshot): void; private link; private unlink; } //# sourceMappingURL=pool.d.ts.map