package com.airlock.iam.flow.domain.model.session;

import com.airlock.iam.flow.api.domain.model.flow.FlowId;
import com.airlock.iam.flow.application.configuration.flow.FlowConfigHash;
import com.airlock.iam.flow.types.api.domain.model.session.MultiFlowType;
import java.util.List;
import java.util.Optional;

public interface MultiFlowSession {
   MultiFlowType getType();

   int getNumFlowsCompleted();

   void destroy();

   Optional<FlowConfigHash> nextFlowConfigHash();

   void rememberSucceeded(FlowConfigHash var1);

   boolean hasNextFlow();

   FlowId getCurrentFlowId();

   List<FlowConfigHash> getAllConfigHashes();
}
