/** * OAuth Error Interface and Utilities * * Provides standardized error handling for OAuth flows including * user-friendly messages and error code mapping. */ /** * Standardized OAuth error structure */ export interface OAuthError { /** Error code for programmatic handling */ code: string; /** User-friendly error message */ message: string; /** Additional error details (for logging, not user display) */ details?: any; } /** * OAuth error codes */ export declare const OAuthErrorCodes: { readonly INVALID_STATE: "invalid_state"; readonly ACCESS_DENIED: "access_denied"; readonly INVALID_GRANT: "invalid_grant"; readonly NETWORK_ERROR: "network_error"; readonly UNKNOWN_PROVIDER: "unknown_provider"; readonly JWT_GENERATION_FAILED: "jwt_generation_failed"; readonly INVALID_REQUEST: "invalid_request"; readonly SERVER_ERROR: "server_error"; readonly INVALID_PROVIDER: "invalid_provider"; readonly SESSION_EXPIRED: "session_expired"; readonly MISSING_CODE: "missing_code"; }; /** * Create a standardized OAuth error * * @param code - Error code from OAuthErrorCodes * @param message - User-friendly error message * @param details - Additional error details for logging * @returns Standardized OAuthError object */ export declare function createOAuthError(code: string, message: string, details?: any): OAuthError; /** * Map provider-specific errors to standardized OAuth errors * * This function converts various error types from OAuth providers * into user-friendly standardized errors while sanitizing sensitive data. * * @param error - Error from OAuth provider or internal error * @returns Standardized OAuthError */ export declare function handleProviderError(error: any): OAuthError; /** * Validate provider name * * @param provider - Provider name to validate * @returns true if valid provider * @throws OAuthError if invalid */ export declare function validateProvider(provider: string): provider is "github" | "google"; /** * Validate response_type parameter * * @param responseType - Response type to validate * @returns true if valid * @throws OAuthError if invalid */ export declare function validateResponseType(responseType?: string): boolean;