package com.airlock.iam.saml2.infrastructure.service.idp;

import com.airlock.iam.saml2.domain.model.Saml2Binding;
import com.airlock.iam.saml2.domain.model.Saml2RelayState;
import com.airlock.iam.saml2.domain.model.idp.Saml2IdpInitiatedSsoContinuationParameters;
import com.airlock.iam.saml2.domain.model.idp.Saml2IdpMetaAlias;
import com.airlock.iam.saml2.domain.model.idp.Saml2RequestParameter;
import com.airlock.iam.saml2.domain.model.idp.Saml2ResponseParameter;
import com.airlock.iam.saml2.infrastructure.request.RebuiltInitialSpInitiatedSloRequest;
import java.io.InputStream;
import java.util.Optional;

public interface Saml2IdpFederationLibrary {
   void doIdpInitiatedSsoFederate(Saml2IdpInitiatedSsoContinuationParameters var1);

   void doSpInitiatedSsoFederate();

   Saml2Binding doIdpInitiatedSlo(Saml2IdpMetaAlias var1);

   boolean processSingleLogoutResponse(Saml2ResponseParameter var1, Optional<Saml2RelayState> var2);

   void resumeSpInitiatedSlo(RebuiltInitialSpInitiatedSloRequest var1, Saml2RequestParameter var2, Optional<Saml2RelayState> var3);

   void resolveArtifact(InputStream var1);
}
