///
import type { MongoDBNamespace, ReadConcern, ReadPreference, AbstractCursor, AbstractCursorEvents, CommonEvents, CursorStreamOptions, GenericListener, Long, ReadConcernLike, ReadPreferenceLike } from "mongodb";
export declare abstract class AbstractHookedCursor implements AbstractCursor {
#private;
constructor(cursor: AbstractCursor);
get id(): Long | undefined;
get namespace(): MongoDBNamespace;
get closed(): boolean;
get killed(): boolean;
get loadBalanced(): boolean;
get readConcern(): ReadConcern | undefined;
get readPreference(): ReadPreference;
withReadConcern(readConcern: ReadConcernLike): this;
withReadPreference(readPreference: ReadPreferenceLike): this;
hasNext(): Promise;
readBufferedDocuments(number?: number | undefined): any[];
stream(options?: CursorStreamOptions | undefined): import("stream").Readable & AsyncIterable;
tryNext(): Promise;
addCursorFlag(flag: "tailable" | "oplogReplay" | "noCursorTimeout" | "awaitData" | "exhaust" | "partial", value: boolean): this;
batchSize(value: number): this;
bufferedCount(): number;
close(): Promise;
emit(event: symbol | EventKey, ...args: Parameters): boolean;
eventNames(): string[];
getMaxListeners(): number;
listenerCount(type: string | symbol | EventKey): number;
listeners(event: string | symbol | EventKey): AbstractCursorEvents[EventKey][];
addListener(event: EventKey, listener: AbstractCursorEvents[EventKey]): this;
addListener(event: CommonEvents, listenerName: (eventName: string | symbol, listener: GenericListener) => void): this;
off(event: EventKey, listener: AbstractCursorEvents[EventKey]): this;
off(event: CommonEvents, listenerName: (eventName: string | symbol, listener: GenericListener) => void): this;
on(event: EventKey, listener: AbstractCursorEvents[EventKey]): this;
on(event: CommonEvents, listenerName: (eventName: string | symbol, listener: GenericListener) => void): this;
once(event: EventKey, listener: AbstractCursorEvents[EventKey]): this;
once(event: CommonEvents, listenerName: (eventName: string | symbol, listener: GenericListener) => void): this;
prependListener(event: EventKey, listener: AbstractCursorEvents[EventKey]): this;
prependListener(event: CommonEvents, listenerName: (eventName: string | symbol, listener: GenericListener) => void): this;
prependOnceListener(event: EventKey, listener: AbstractCursorEvents[EventKey]): this;
prependOnceListener(event: CommonEvents, listenerName: (eventName: string | symbol, listener: GenericListener) => void): this;
rawListeners(event: string | symbol | EventKey): AbstractCursorEvents[EventKey][];
removeAllListeners(event?: string | symbol | EventKey | undefined): this;
removeListener(event: EventKey, listener: AbstractCursorEvents[EventKey]): this;
removeListener(event: CommonEvents, listenerName: (eventName: string | symbol, listener: GenericListener) => void): this;
setMaxListeners(n: number): this;
maxTimeMS(value: number): this;
abstract forEach(iterator: (doc: TSchema) => boolean | void): Promise;
abstract map(transform: (doc: TSchema) => T): AbstractCursor;
abstract clone(): AbstractCursor;
abstract next(): Promise;
abstract rewind(): void;
abstract toArray(): Promise;
abstract [Symbol.asyncIterator](): AsyncGenerator;
}