import Component from '../ecs/Component'; import { Constructor } from './Signable'; import Entity from '../ecs/Entity'; import ComponentRegistry from '../registries/ComponentRegistry'; import { ArrayListOptions } from '../lists/List'; import IList from '../lists/IList'; declare class EntityCollection { private _collectionLists; onNewList: (l: IList) => void; readonly componentRegistry: ComponentRegistry; constructor(); get lists(): Record>; select(...constructors: Array>): IList; createList(options: ArrayListOptions, listConstructor?: Constructor>): IList; private getConstructorSignature; private createListFromSignature; private buildListSignature; private getEntitySignature; addEntity(entity: Entity): void; addEntityToCollection(entity: Entity, collection: IList): void; removeEntity(entity: Entity): void; } export default EntityCollection;