export interface TokenData { accessToken: string; refreshToken: string; expiresAt?: Date; supabaseUserId?: string; } export interface EncryptedTokenData { accessToken: string; refreshToken: string; expiresAt?: string; supabaseUserId?: string; storedAt: string; } export interface OAuthFlowState { codeVerifier: string; state: string; createdAt: string; } export declare class TokenManager { private authDir; private tokensPath; private flowStatePath; private logger; constructor(); /** * Store OAuth tokens with encryption - equivalent to frontend storeOAuthTokens() */ storeTokens(tokens: TokenData, supabaseUserId?: string): Promise; /** * Retrieve OAuth tokens - equivalent to frontend getOAuthTokens() */ getTokens(): Promise; /** * Store OAuth flow state - equivalent to frontend storeOAuthFlowState() */ storeFlowState(flowState: { codeVerifier: string; state: string; }): Promise; /** * Retrieve and clear OAuth flow state - equivalent to frontend getAndClearOAuthFlowState() */ getAndClearFlowState(): Promise<{ codeVerifier: string; state: string; } | null>; /** * Clear all tokens and flow state - equivalent to frontend revokeOAuthTokens() */ clearAllTokens(): Promise; /** * Check if we have valid tokens - equivalent to frontend hasValidOAuthTokens() */ hasValidTokens(): Promise; /** * Refresh OAuth tokens - direct port of frontend refreshOAuthTokens() */ refreshTokens(): Promise; /** * Get authentication info for status display */ getAuthInfo(): Promise<{ isAuthenticated: boolean; expiresAt?: Date; supabaseUserId?: string; tokenPath: string; }>; }