import { OAuthSession, DeviceFlowState as DeviceFlowStateType, AuthCodeFlowState as AuthCodeFlowStateType, AuthorizationCode as AuthorizationCodeType } from '../types'; import { SessionStorageBackend, SessionStorageStats } from './types'; export interface PostgreSQLStorageOptions { connectionString?: string; } export declare class PostgreSQLStorageBackend implements SessionStorageBackend { readonly type: "postgresql"; private prisma; private cleanupIntervalId; initialize(): Promise; private getPrisma; 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; private rowToSession; storeDeviceFlow(state: string, flow: DeviceFlowStateType): Promise; getDeviceFlow(state: string): Promise; getDeviceFlowByDeviceCode(deviceCode: string): Promise; deleteDeviceFlow(state: string): Promise; private rowToDeviceFlow; storeAuthCodeFlow(internalState: string, flow: AuthCodeFlowStateType): Promise; getAuthCodeFlow(internalState: string): Promise; deleteAuthCodeFlow(internalState: string): Promise; private rowToAuthCodeFlow; storeAuthCode(code: AuthorizationCodeType): Promise; getAuthCode(code: string): Promise; deleteAuthCode(code: string): Promise; private rowToAuthCode; associateMcpSession(mcpSessionId: string, oauthSessionId: string): Promise; getSessionByMcpSessionId(mcpSessionId: string): Promise; removeMcpSessionAssociation(mcpSessionId: string): Promise; cleanup(): Promise; close(): Promise; getStats(): Promise; private startCleanupInterval; private stopCleanupInterval; }