import * as mongo from "mongodb"; import { Document } from "./Document"; import { Event } from "./Event"; import { Filter } from "./Filter"; import { Options } from "./Options"; import { Update } from "./Update"; export declare class Collection { private backend; readonly shard: Shard; readonly idLength: 4 | 8 | 12 | 16; private hexadecmialIdLength; readonly updated: Event>[Shard][]>; constructor(backend: mongo.Collection, shard: Shard, idLength?: 4 | 8 | 12 | 16); get(filter: Filter): Promise; list(filter?: Filter): Promise; create(document: T): Promise; create(documents: T[]): Promise; private deleteHelper; delete(document: Filter & Document): Promise; delete(document: Filter): Promise; delete(documents: (Filter & Document)[]): Promise; private updateHelper; update(document: Filter & Update & Options & Document): Promise; update(document: Filter & Update & Document): Promise; update(document: Filter & Update): Promise; update(documents: (Filter & Update & Options & Document)[]): Promise; getDistinct(field: string): Promise; private toBase64; private toBase16; private toDocument; private fromDocument; }