import type { ServerConfig } from '../../config.js'; import type { Database } from './db/index.js'; export type BsyncCursors = { op?: string; mute?: string; notif?: string; }; export declare class BsyncSubscription { opts: { db: Database; config: ServerConfig; }; private ac; private pendingScans; private bsyncClient; private db; private cursors; constructor(opts: { db: Database; config: ServerConfig; }); get running(): boolean; start(): void; /** * Waits until the subscription has processed every operation that existed in * bsync at the time `targets` was read (one cursor per stream). Returns as * soon as the cursors catch up - it does not wait for the bsync long-poll * timeout. Intended for tests/dev. */ processAll(targets: BsyncCursors, timeout?: number): Promise; private isCaughtUp; destroy(): Promise; /** * starts a scanner in the background, killing it when this instance is * destroyed, and storing its promise in `this.pendingScans` to allow * awaiting. */ private startScanning; private runScanner; private scanMuteOperations; private processMuteOperations; private scanNotifOperations; private processNotifOperations; private scanOperations; private processOperations; } //# sourceMappingURL=bsync-subscription.d.ts.map