export type OAuthErrorStatus = 'unsupported_grant_type' | 'invalid_request' | 'invalid_client' | 'invalid_scope' | 'invalid_credentials' | 'server_error' | 'access_denied' | 'invalid_grant' | 'expired_token' | 'authorization_pending' | 'slow_down'; export interface OAuthError { error: OAuthErrorStatus; error_description: string; hint?: string; message: string; } export type OAuthSlowDownError = OAuthError & { slow_down: number; } export interface OAuthTokenResponse { token_type: string; expires_in: number; access_token: string; refresh_token?: string; } export interface OAuthDeviceAuthorizationResponse { device_code: string; user_code: string; verification_uri: string; verification_uri_complete?: string; expires_in: number interval?: number }