import { OAuthSession, DeviceFlowState, AuthCodeFlowState, AuthorizationCode } from '../types'; import { SessionStorageBackend, SessionStorageStats } from './types'; export interface MemoryStorageOptions { silent?: boolean; } export declare class MemoryStorageBackend implements SessionStorageBackend { readonly type: "memory"; private sessions; private deviceFlows; private authCodeFlows; private authCodes; private tokenToSession; private refreshTokenToSession; private mcpSessionToOAuthSession; private cleanupIntervalId; private silent; constructor(options?: MemoryStorageOptions); initialize(): Promise; createSession(session: OAuthSession): Promise; getSession(sessionId: string): Promise; getSessionByToken(token: string): Promise; getSessionByRefreshToken(refreshToken: string): Promise; updateSession(sessionId: string, updates: Partial): Promise; deleteSession(sessionId: string): Promise; getAllSessions(): Promise; storeDeviceFlow(state: string, flow: DeviceFlowState): Promise; getDeviceFlow(state: string): Promise; getDeviceFlowByDeviceCode(deviceCode: string): Promise; deleteDeviceFlow(state: string): Promise; storeAuthCodeFlow(internalState: string, flow: AuthCodeFlowState): Promise; getAuthCodeFlow(internalState: string): Promise; deleteAuthCodeFlow(internalState: string): Promise; storeAuthCode(code: AuthorizationCode): Promise; getAuthCode(code: string): Promise; deleteAuthCode(code: string): Promise; associateMcpSession(mcpSessionId: string, oauthSessionId: string): Promise; getSessionByMcpSessionId(mcpSessionId: string): Promise; removeMcpSessionAssociation(mcpSessionId: string): Promise; cleanup(): Promise; close(): Promise; getStats(): Promise; private startCleanupInterval; private stopCleanupInterval; exportData(): { sessions: OAuthSession[]; deviceFlows: Array<{ state: string; flow: DeviceFlowState; }>; authCodeFlows: Array<{ internalState: string; flow: AuthCodeFlowState; }>; authCodes: AuthorizationCode[]; mcpSessionMappings: Array<{ mcpSessionId: string; oauthSessionId: string; }>; }; importData(data: { sessions?: OAuthSession[]; deviceFlows?: Array<{ state: string; flow: DeviceFlowState; }>; authCodeFlows?: Array<{ internalState: string; flow: AuthCodeFlowState; }>; authCodes?: AuthorizationCode[]; mcpSessionMappings?: Array<{ mcpSessionId: string; oauthSessionId: string; }>; }): void; }