package org.jetbrains.ruby.codeInsight.types.signature.contractTransition;
import org.jetbrains.annotations.NotNull;
import java.util.List;
import java.util.Set;
public interface ContractTransition {
/**
* Return literal type set of this transition. This method respects reference transitions
* which types depend on some previous passed values.
*
* @param readTypes previously read literal types. Set represents possible type unions
* @return computed literal type set for this transition
*/
@NotNull
Set<String> getValue(@NotNull List<Set<String>> readTypes);
}