package com.airlock.iam.flow.shared.domain.model.otp;

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 GenericOtpCheckingStep extends AuthenticationFlowStep {
   StepResult checkOtp(UnverifiedOtp var1);

   enum GenericOtpStepActions implements StepAction {
      OTP_REQUIRED,
      NEXT_OTP_REQUIRED;
   }

   enum GenericOtpStepErrors implements StepError {
      OTP_WRONG,
      OTP_EXPIRED;
   }
}
