package com.airlock.iam.oauth2.domain.service.codegrant;

import com.airlock.iam.common.api.domain.model.persistency.exception.PersisterException;
import com.airlock.iam.oauth2.api.domain.model.clientauthentication.OAuth2ClientAuthentication;
import com.airlock.iam.oauth2.domain.model.client.OAuth2Client;
import com.airlock.iam.oauth2.domain.model.token.OpenIDConnectRawAccessTokenContainer;
import java.util.Optional;

public interface OpenIDConnectCodeGrantTokenManager {
   Optional<OpenIDConnectRawAccessTokenContainer> exchangeAuthorizationCodeForAccessTokenAndIdToken(
      String var1, OAuth2Client var2, OAuth2ClientAuthentication var3, Optional<String> var4, Optional<String> var5
   ) throws PersisterException;
}
