import { MFASessionStorage } from './MFASessionStorage'; /** * 文件系统实现的MFA会话存储 */ export declare class FileMFASessionStorage implements MFASessionStorage { private readonly storageDir; private readonly DEFAULT_TIMEOUT; constructor(storageDir: string); /** * 确保存储目录存在 */ private ensureStorageDir; /** * 获取会话文件路径 */ private getSessionFilePath; /** * 创建一个等待MFA验证码的Promise * @param sessionId 会话ID * @param timeout 超时时间(毫秒) * @returns Promise 返回验证码 */ waitForMFACode(sessionId: string, timeout?: number): Promise; /** * 提交MFA验证码 * @param sessionId 会话ID * @param code 验证码 * @returns 是否成功提交 */ submitMFACode(sessionId: string, code: string): Promise; /** * 取消MFA验证 * @param sessionId 会话ID * @param reason 取消原因 * @returns 是否成功取消 */ cancelMFARequest(sessionId: string, reason?: string): Promise; /** * 检查会话是否存在 * @param sessionId 会话ID * @returns 是否存在 */ hasSession(sessionId: string): Promise; /** * 获取所有活跃的会话ID * @returns 会话ID列表 */ getActiveSessions(): Promise; /** * 清理过期的请求 * @param maxAge 最大存活时间(毫秒) */ cleanupExpiredRequests(maxAge?: number): Promise; /** * 清理指定会话的资源 * @param sessionId 会话ID */ private cleanupRequest; }