import type { SessionStore } from '../session-store.interface.js'; import { type ReplicationConfig, type SyncStats, type ReplicaHealthStatus, type HealthCheckResult } from './types.js'; import type { Logger } from 'pino'; import { EventEmitter } from 'events'; import { ReplicationMetrics } from './replication-metrics.js'; import { StatusManager } from './status-manager.js'; import type { SessionReplicationManagerEvents } from './session-replication.interface.js'; export declare class SessionReplicationManager extends EventEmitter implements SessionReplicationManagerEvents { private readonly logger; private readonly primaryStore; private readonly config; private readonly replicaManager; private readonly scheduler; private readonly syncEngine; private readonly coordinator; private readonly transport; private readonly metrics; private readonly healthChecker; private readonly statusManager; constructor(primaryStore: SessionStore, config?: Partial, logger?: Logger); addReplica(id: string, store: SessionStore, config?: Partial): Promise; removeReplica(id: string): void; start(): void; stop(): void; syncAll(): Promise; syncReplica(replicaId: string): Promise; getStatus(): ReturnType; getHealth(): Promise<{ primary: HealthCheckResult; replicas: ReplicaHealthStatus[]; }>; forceSyncAll(): Promise; getMetrics(): ReturnType; destroy(): Promise; } //# sourceMappingURL=session-replication.d.ts.map