package com.airlock.iam.flow.api.domain.model.step;

import com.airlock.iam.flow.api.domain.model.tag.Tag;
import jakarta.annotation.Nullable;
import java.util.Map;
import java.util.Set;

public interface StepResultBuilder {
   StepResultBuilder type(StepResult.StepResultType var1);

   StepResultBuilder nextAction(@Nullable StepAction var1);

   StepResultBuilder error(StepError var1);

   StepResultBuilder obtainedTags(Set<Tag> var1);

   StepResultBuilder addObtainedTags(Set<Tag> var1);

   StepResultBuilder resultData(StepResultData var1);

   StepResultBuilder withoutInternalResultData();

   StepResultBuilder internalResultData(InternalStepResultData var1);

   StepResultBuilder metadata(Map<String, Object> var1);

   StepResultBuilder addMetadataItem(String var1, Object var2);

   StepResultBuilder additionalAttributes(AdditionalAttributes var1);

   StepResultBuilder addAdditionalAttribute(String var1, Object var2);

   StepResult build();
}
