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

   enum EmailOtpStepAction implements StepAction {
      EMAIL_OTP_REQUIRED;
   }

   enum EmailOtpStepError implements StepError {
      EMAIL_OTP_WRONG,
      EMAIL_OTP_EXPIRED;
   }
}
