export type FilterDocument = {}; type Document = Record; type CollectionUpdateIFConditions = { field: string; values: any; }; export declare class Collection { private _list; constructor(list?: Array); get size(): number; get items(): T[]; add(doc: T): void; get(filter: Document): void; update(filter: Document, updater: Document): void; remove(filter: Document): void; isEmpty(): boolean; updateIf(conditions: CollectionUpdateIFConditions[]): void; updateAll(fn: (item: T, index: number, arr: T[]) => T): void; updateWith(payload: I[], fn: (args: I) => K): void; lastItem(): T | undefined; firstItem(): T | undefined; findMany(filter: FilterDocument): Collection; for(predicate: (value: T) => void): Promise; merge(value: Collection): void; merge(value: T[]): void; merge(value: T): void; } export {}; //# sourceMappingURL=Collection.d.ts.map