import type { LogContext } from '@rocicorp/logger';
import type { Database } from '../../../../zqlite/src/db.ts';
import type { Source } from '../../types/streams.ts';
import { type ChangeStreamer } from '../change-streamer/change-streamer.ts';
import type { ReplicaState, ReplicatorMode } from './replicator.ts';
/**
 * The {@link IncrementalSyncer} manages a logical replication stream from upstream,
 * handling application lifecycle events (start, stop) and retrying the
 * connection with exponential backoff. The actual handling of the logical
 * replication messages is done by the {@link ChangeProcessor}.
 */
export declare class IncrementalSyncer {
    #private;
    constructor(taskID: string, id: string, changeStreamer: ChangeStreamer, replica: Database, mode: ReplicatorMode, publishReplicationStatus: boolean);
    run(lc: LogContext): Promise<void>;
    subscribe(): Source<ReplicaState>;
    stop(lc: LogContext, err?: unknown): void;
}
//# sourceMappingURL=incremental-sync.d.ts.map