import { Query } from '../../../src/core/query'; import { BatchId, ProtoByteString } from '../../../src/core/types'; import { MutationQueue } from '../../../src/local/mutation_queue'; import { Persistence } from '../../../src/local/persistence'; import { DocumentKeySet } from '../../../src/model/collections'; import { DocumentKey } from '../../../src/model/document_key'; import { Mutation } from '../../../src/model/mutation'; import { MutationBatch } from '../../../src/model/mutation_batch'; /** * A wrapper around a MutationQueue that automatically creates a * transaction around every operation to reduce test boilerplate. */ export declare class TestMutationQueue { persistence: Persistence; queue: MutationQueue; constructor(persistence: Persistence, queue: MutationQueue); checkEmpty(): Promise; countBatches(): Promise; acknowledgeBatch(batch: MutationBatch, streamToken: ProtoByteString): Promise; getLastStreamToken(): Promise; setLastStreamToken(streamToken: string): Promise; addMutationBatch(mutations: Mutation[]): Promise; lookupMutationBatch(batchId: BatchId): Promise; getNextMutationBatchAfterBatchId(batchId: BatchId): Promise; getAllMutationBatches(): Promise; getAllMutationBatchesAffectingDocumentKey(documentKey: DocumentKey): Promise; getAllMutationBatchesAffectingDocumentKeys(documentKeys: DocumentKeySet): Promise; getAllMutationBatchesAffectingQuery(query: Query): Promise; removeMutationBatch(batch: MutationBatch): Promise; }