import { VerificationResult } from './service-provider'; export interface Session { id: string; holderDID: string; credentialIds: string[]; attributes: Record; createdAt: Date; expiresAt: Date; lastAccessedAt: Date; metadata?: Record; } export interface SessionValidation { valid: boolean; session?: Session; reason?: string; } export interface SessionManagerOptions { defaultSessionDuration?: number; maxSessionDuration?: number; cleanupInterval?: number; } export declare class SessionManager { private sessions; private credentialToSessions; private cleanupTimer?; private options; constructor(options?: SessionManagerOptions); /** * Create a new session from a verification result */ createSession(verificationResult: VerificationResult, metadata?: Record): Promise; /** * Validate an existing session */ validateSession(sessionId: string): Promise; /** * Revoke all sessions associated with a credential */ revokeSessions(credentialId: string): Promise; /** * Set or update session expiry */ setSessionExpiry(sessionId: string, duration: number): Promise; /** * Get session by ID */ getSession(sessionId: string): Session | undefined; /** * Get all active sessions */ getAllSessions(): Session[]; /** * Get sessions by holder DID */ getSessionsByHolder(holderDID: string): Session[]; /** * Manually remove a session */ removeSession(sessionId: string): void; /** * Clear all sessions */ clearAllSessions(): void; /** * Stop the cleanup timer */ destroy(): void; /** * Generate a secure session ID */ private generateSessionId; /** * Start the cleanup timer to remove expired sessions */ private startCleanupTimer; /** * Clean up expired sessions */ private cleanupExpiredSessions; } //# sourceMappingURL=session-manager.d.ts.map