import type { Credentials, SessionTransferCredentials, User, MfaChallengeResponse, PasswordRealmParameters, RefreshTokenParameters, UserInfoParameters, RevokeOptions, ExchangeParameters, ExchangeNativeSocialParameters, SSOExchangeParameters, PasswordlessEmailParameters, PasswordlessSmsParameters, LoginEmailParameters, LoginSmsParameters, LoginOtpParameters, LoginOobParameters, LoginRecoveryCodeParameters, MfaChallengeParameters, ResetPasswordParameters, CreateUserParameters, } from '../../types'; /** * Defines the contract for direct authentication methods that interact with Auth0's * Authentication API endpoints without a web-based redirect. */ export interface IAuthenticationProvider { passwordRealm(parameters: PasswordRealmParameters): Promise; refreshToken(parameters: RefreshTokenParameters): Promise; userInfo(parameters: UserInfoParameters): Promise; revoke(parameters: RevokeOptions): Promise; exchange(parameters: ExchangeParameters): Promise; passwordlessWithEmail(parameters: PasswordlessEmailParameters): Promise; passwordlessWithSMS(parameters: PasswordlessSmsParameters): Promise; loginWithEmail(parameters: LoginEmailParameters): Promise; loginWithSMS(parameters: LoginSmsParameters): Promise; loginWithOTP(parameters: LoginOtpParameters): Promise; loginWithOOB(parameters: LoginOobParameters): Promise; loginWithRecoveryCode( parameters: LoginRecoveryCodeParameters ): Promise; multifactorChallenge( parameters: MfaChallengeParameters ): Promise; resetPassword(parameters: ResetPasswordParameters): Promise; createUser(parameters: CreateUserParameters): Promise>; exchangeNativeSocial( parameters: ExchangeNativeSocialParameters ): Promise; ssoExchange( parameters: SSOExchangeParameters ): Promise; }