import type { LTOAuthProviderConfig, LTOAuthUserInfo } from '../../../types/oauth'; export interface OAuthTokens { accessToken: string; refreshToken: string | null; accessTokenExpiresAt: Date | null; } export interface ProviderHandler { config: LTOAuthProviderConfig; createAuthorizationURL(state: string, codeVerifier: string): URL | Promise; validateAuthorizationCode(code: string, codeVerifier: string): Promise; refreshAccessToken(refreshToken: string): Promise; fetchUserInfo(accessToken: string): Promise; }