/** * Redis Session Persistence * Production-grade session storage for collaborative development */ import Redis from 'ioredis'; import { SessionPersistence } from './session-manager'; import { CollaborationSession, CodeChange } from './websocket-server'; export interface RedisSessionPersistenceOptions { redis?: Redis; redisUrl?: string; keyPrefix?: string; sessionTTL?: number; historyTTL?: number; maxHistoryItems?: number; } export declare class RedisSessionPersistence implements SessionPersistence { private redis; private keyPrefix; private sessionTTL; private historyTTL; private maxHistoryItems; constructor(options?: RedisSessionPersistenceOptions); private setupEventHandlers; saveSession(session: CollaborationSession): Promise; loadSession(sessionId: string): Promise; deleteSession(sessionId: string): Promise; listSessions(userId?: string): Promise; saveCodeHistory(sessionId: string, change: CodeChange): Promise; getCodeHistory(sessionId: string, file?: string): Promise; getSessionStats(): Promise<{ totalSessions: number; activeSessions: number; totalUsers: number; memoryUsage: string; }>; cleanupExpiredSessions(): Promise; shutdown(): Promise; private getSessionKey; private getHistoryKey; } export default RedisSessionPersistence; //# sourceMappingURL=redis-session-persistence.d.ts.map