import { SmartDataDbDoc } from './classes.doc.js';
import * as plugins from './plugins.js';
/**
 * a wrapper for the native mongodb cursor. Exposes better
 */
export declare class SmartdataDbWatcher<T = any> {
    readyDeferred: plugins.smartpromise.Deferred<unknown>;
    private changeStream;
    changeSubject: plugins.smartrx.rxjs.Subject<T>;
    constructor(changeStreamArg: plugins.mongodb.ChangeStream<T>, smartdataDbDocArg: typeof SmartDataDbDoc);
    close(): Promise<void>;
}
