import { JSONObject } from "../../types"; import { InstrumentablePromise } from "../InstrumentablePromise"; /** * @internal */ export type DocumentsBuffer = { documents: Array<{ _id: string; body: JSONObject; }>; promise: InstrumentablePromise; options: JSONObject; }; /** * Map of index and collections with documents, options and associated promise * * Map> * * @internal */ export type IndexBuffer = Map>; /** * @internal */ export declare class BatchBuffer { indexes: IndexBuffer; /** * Add a document to the buffer of a specific collection * * @param index Index name * @param collection Collection name * @param body Document content * @param _id Document ID * @param options Option object passed to the m* action * * @returns An object containing the result index in the array of results and a promise resolving to the array of results */ add(index: string, collection: string, body: JSONObject, _id?: string, options?: JSONObject): { idx: number; promise: InstrumentablePromise; }; }