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

import com.airlock.iam.airlock2fa.api.domain.model.Airlock2FADeviceId;
import com.airlock.iam.flow.api.domain.model.step.FlowStep;
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;
import java.util.List;

public interface Airlock2FARecoveryFlowBindingStep extends FlowStep {
   StepResult startRecovery(List<Airlock2FADeviceId> var1);

   StepResult pollRecoveryResult();

   enum Airlock2FARecoveryFlowBindingStepAction implements StepAction {
      AIRLOCK_2FA_RECOVERY_DEVICES_REQUIRED,
      AIRLOCK_2FA_RECOVERY_REQUIRED;
   }

   enum Airlock2FARecoveryFlowBindingStepError implements StepError {
      AIRLOCK_2FA_RECOVERY_DEVICES_INVALID;
   }
}
