package com.airlock.iam.flow.shared.domain.service.mtan;

import com.airlock.iam.common.api.domain.model.otp.UnverifiedOtp;
import com.airlock.iam.core.misc.authen.result.AuthenticationFailed;
import java.util.List;

public interface MtanOtpCheckingService {
   boolean isApplicableForPrincipal();

   MtanOtpCheckingServiceImpl.NewMtanAuthentication startMtanAuthentication();

   MtanOtpCheckingServiceImpl.CheckOtpResult checkOtp(UnverifiedOtp var1);

   boolean resendOtp();

   boolean resendOtpPossible();

   boolean selectMtanToken(String var1);

   List<AuthenticationFailed.MtanChoiceToken> getMtanChoices();
}
