import { LiveMongoConnection } from "./live_connection"; import { MinimongoMatcher } from "./minimongo_matcher"; import MinimongoSorter from "./minimongo_sorter"; import { ObserveMultiplexer } from "./observe_multiplexer"; import { CursorDescription } from "./live_cursor"; import { SynchronousCursor } from "./synchronous-cursor"; interface OplogObserveDriverOptions { cursorDescription: CursorDescription; mongoHandle: LiveMongoConnection; ordered: boolean; multiplexer: ObserveMultiplexer; matcher: MinimongoMatcher; sorter: MinimongoSorter; } export declare class OplogObserveDriver { private _usesOplog; private _id; private _cursorDescription; private _mongoHandle; private _multiplexer; private _safeAppendToBuffer; private _stopped; private _stopHandles; private _matcher; private _projectionFn; private _sharedProjection; private _sharedProjectionFn; private _limit; private _comparator; private _sorter; private _unpublishedBuffer; private _published; private _needToFetch; private _currentlyFetching; private _fetchGeneration; private _requeryWhenDoneThisQuery; private _writesToCommitWhenWeReachSteady; private _phase; private _phaseStartTime; constructor(options: OplogObserveDriverOptions); _addPublished(id: any, doc: any): void; _removePublished(id: any): void; _changePublished(id: any, oldDoc: any, newDoc: any): void; _addBuffered(id: any, doc: any): void; _removeBuffered(id: any): void; _addMatching(doc: any): void; _removeMatching(id: any): void; _handleDoc(id: any, newDoc: any): void; _fetchModifiedDocuments(): void; _beSteady(): void; _handleOplogEntryQuerying(op: any): void; _handleOplogEntrySteadyOrFetching(op: any): void; _runInitialQuery(): Promise; _pollQuery(): void; _runQuery(options?: { initial?: boolean; }): Promise; _needToPollQuery(): void; _doneQuerying(): Promise; _cursorForQuery(optionsOverwrite: { limit: number; }): SynchronousCursor; _publishNewResults(newResults: Map, newBuffer: Map): void; stop(): void; _registerPhaseChange(phase: any): void; static cursorSupported(cursorDescription: CursorDescription, matcher: MinimongoMatcher): boolean; } export {};