package com.airlock.iam.publicselfservice.domain.model.step;

import com.airlock.iam.authentication.api.domain.model.step.AuthenticationFlowStep;
import com.airlock.iam.common.api.domain.model.otp.UnverifiedOtp;
import com.airlock.iam.flow.api.domain.model.step.StepAction;
import com.airlock.iam.flow.api.domain.model.step.StepError;
import com.airlock.iam.flow.api.domain.model.step.StepResult;

public interface MtanIdentityVerificationStep extends AuthenticationFlowStep {
   StepResult verifyMtanOtp(UnverifiedOtp var1);

   enum MtanOtpStepAction implements StepAction {
      MTAN_OTP_REQUIRED;
   }

   enum MtanOtpStepError implements StepError {
      MTAN_OTP_WRONG,
      MTAN_OTP_EXPIRED;
   }
}
