import type { SessionStore } from '../session-store.interface.js'; import type { Session } from '../../types/session.js'; export interface MigrationStats { totalSessions: number; migratedSessions: number; failedSessions: number; skippedSessions: number; duration: number; errors: Array<{ sessionId: string; error: string; }>; } export interface MigrationOptions { skipExisting?: boolean; deleteAfterMigration?: boolean; batchSize?: number; continueOnError?: boolean; filter?: (session: Session) => boolean; onProgress?: (processed: number, total: number) => void; } export interface RestoreOptions { overwrite?: boolean; skipExpired?: boolean; onProgress?: (processed: number, total: number) => void; } export interface RestoreStats { restored: number; skipped: number; failed: number; errors: Array<{ sessionId: string; error: string; }>; } export interface SessionValidationResult { isValid: boolean; isExpired: boolean; exists: boolean; shouldSkip: boolean; reason?: string; } export interface RestoreCommand { session: Session; operation: 'create' | 'update' | 'skip'; reason?: string; } export interface RestoreStrategy { validate(session: Session, store: SessionStore, options: RestoreOptions): Promise; execute(command: RestoreCommand, store: SessionStore): Promise; } export interface BatchProcessingOptions { skipExisting: boolean; deleteAfterMigration: boolean; continueOnError: boolean; } export interface MigrationContext { sourceStore: SessionStore; targetStore: SessionStore; options: MigrationOptions; startTime: number; stats: MigrationStats; } export interface BackupOptions { includeExpired?: boolean; filter?: (session: Session) => boolean; } export interface ValidationOptions { checkExpired?: boolean; } export interface ValidationResult { valid: boolean; sourceSessions: number; targetSessions: number; missingSessions: string[]; extraSessions: string[]; } //# sourceMappingURL=types.d.ts.map