package com.airlock.iam.oauth2.domain.service.tokenexchange.scope;

import com.airlock.iam.base.misc.result.Result;
import com.airlock.iam.oauth2.api.domain.model.OAuth2Scope;
import com.airlock.iam.oauth2.api.domain.model.tokenexchange.OAuth2TokenExchangeGrantRequest;
import com.airlock.iam.oauth2.api.domain.model.tokenexchange.jwt.OAuth2TokenExchangeValidatedTokenData;
import com.airlock.iam.oauth2.domain.model.client.OAuth2Client;
import com.airlock.iam.oauth2.domain.service.tokenexchange.OAuth2TokenExchangeGrantTokenIssuerError;
import java.util.Set;

public interface OAuth2TokenExchangeScopeHandler {
   Result<Set<OAuth2Scope>, OAuth2TokenExchangeGrantTokenIssuerError> processScope(
      OAuth2TokenExchangeGrantRequest var1, OAuth2TokenExchangeValidatedTokenData var2, OAuth2Client var3
   );
}
