///
import IOperationQueue from './interfaces/IOperationQueue';
/**
* Operation queue used by the Batch Writer implemented using MongoDB.
*/
export default class MongoDbOperationQueue implements IOperationQueue {
private serverUrl;
/** Collection name for queued operations. */
static readonly collectionName: string;
private collection;
/**
* MongoDb database name where the operations are stored
*/
private databaseName;
private db;
constructor(serverUrl: string, databaseName?: string);
/**
* Initialize the MongoDB operation store.
*/
initialize(): Promise;
enqueue(didUniqueSuffix: string, operationBuffer: Buffer): Promise;
dequeue(count: number): Promise;
peek(count: number): Promise;
/**
* Checks to see if the queue already contains an operation for the given DID unique suffix.
*/
contains(didUniqueSuffix: string): Promise;
/**
* * Clears the unresolvable transaction store. Mainly used in tests.
*/
clearCollection(): Promise;
/**
* Creates the queued operation collection with indexes if it does not exists.
* @returns The existing collection if exists, else the newly created collection.
*/
private static createCollectionIfNotExist;
}