import { OAuthSession, DeviceFlowState, AuthCodeFlowState, AuthorizationCode } from '../types'; import { SessionStorageBackend, SessionStorageStats } from './types'; export interface FileStorageOptions { filePath: string; saveInterval?: number; saveDebounce?: number; } export declare class FileStorageBackend implements SessionStorageBackend { readonly type: "file"; private memory; private filePath; private saveInterval; private saveDebounce; private saveIntervalId; private saveDebounceId; private pendingSave; private initialized; constructor(options: FileStorageOptions); initialize(): Promise; private loadFromFile; private saveToFile; private scheduleSave; private startSaveInterval; 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; forceSave(): Promise; }