import { IdDatabase, ObjectWithId } from './commons.js'; import { Entity } from './entity.js'; export declare abstract class EntityList

, T extends ObjectWithId> extends Entity

{ $key: string; items: T[]; constructor($owner: P, $key: string, specs: any); abstract get $entityType(): string; abstract $idDatabase: IdDatabase; abstract create(spec: any): T; toJSON(): { items: T[]; }; get $path(): string; [Symbol.iterator](): IterableIterator; get length(): number; indexOf(item: T): number; get first(): T | null; get last(): T | null; get(index: number): T | null; find(predicate: (item: T, index: number) => boolean): T | null; filter(predicate: (item: T, index: number) => boolean): T[]; map(fn: (item: T, index: number) => K): K[]; previousSiblings(item: T): IterableIterator; nextSiblings(item: T): IterableIterator; previousSibling(item: T): T | null; nextSibling(item: T): T | null; insert(spec: any, index?: number): T; removeAt(index: number): void; remove(item: T): void; removeWhere(predicate: (item: T, index: number) => boolean): void; replace(item: T, newSpec: any): T; move(item: T, newIndex: number): void; protected unregisterIds(item: T): void; protected collectIds(obj: any): Set; } //# sourceMappingURL=list.d.ts.map