/**
* @var array<string, combination>
*/
protected array $combinationDetails = [];
/**
* @param string[] $optionIds
*/
public function hasCombination(array $optionIds): bool
{
return isset($this->hashes[$this->calculateHash($optionIds)]);
}
/**
* @param string[] $optionIds
*/
public function addCombination(array $optionIds, bool $available): void
{
$hash = $this->calculateHash($optionIds);
$this->hashes[$hash] = true;
$this->combinations[$hash] = $optionIds;
$this->combinationDetails[$hash] = [