package com.airlock.iam.oauth2.domain.model.provider;

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.Set;

public interface OAuth2ConsentStep extends FlowStep {
   StepResult retrieveLocalConsent();

   StepResult grantLocalConsent(Set<String> var1);

   StepResult denyLocalConsent();

   StepResult checkRemoteConsent(String var1);

   enum OAuth2ConsentStepActions implements StepAction {
      OAUTH2_AUTHORIZATION_SERVER_LOCAL_CONSENT_REQUIRED,
      OAUTH2_AUTHORIZATION_SERVER_REMOTE_CONSENT_REQUIRED;
   }

   enum OAuth2ConsentStepErrors implements StepError {
      OAUTH2_AUTHORIZATION_SERVER_AUTHORIZATION_FAILED;
   }
}
