import { Constructor } from '../collections/Signable'; import Component from '../ecs/Component'; export interface ArrayListOptions { constructors: Array>; onCreate?: (item: T) => void; onDelete?: (item: T) => void; shouldBeAdded?: (item: T) => boolean; } declare class List { readonly _signature: number; private readonly _contructors; private readonly onCreate?; private readonly onDelete?; private readonly shouldBeAdded; constructor(signature: number, options: ArrayListOptions); get constructors(): Array>; get signature(): number; add(data: T): void; remove(data: T): void; protected __add(data: T): void; protected __remove(data: T): void; } export default List;