import type { SessionStore } from '../session-store.interface.js'; import type { Session, SessionData } from '../../types/session.js'; import type { Logger } from 'pino'; interface SessionOperationParams { store: SessionStore; sessionId: string; maxRetries: number; retryDelay: number; } interface UpdateSessionParams extends SessionOperationParams { sessionData: SessionData; } export declare class ReplicationTransport { private readonly logger; constructor(logger: Logger); retryOperation(operation: () => Promise, maxRetries: number, baseDelay: number): Promise; createSession(store: SessionStore, sessionData: SessionData, maxRetries: number, retryDelay: number): Promise; updateSession(params: UpdateSessionParams): Promise; deleteSession(store: SessionStore, sessionId: string, maxRetries: number, retryDelay: number): Promise; touchSession(store: SessionStore, sessionId: string, maxRetries: number, retryDelay: number): Promise; getSession(store: SessionStore, sessionId: string, maxRetries: number, retryDelay: number): Promise; getAllSessions(store: SessionStore): Promise; private getAllSessionsFromInMemory; private getAllSessionsFromRedis; batchOperation(items: T[], batchSize: number, operation: (batch: T[]) => Promise): Promise; private delay; } export {}; //# sourceMappingURL=replication-transport.d.ts.map