1<?php 2 3declare(strict_types=1); 4 5/* 6 * This file is part of the league/config package. 7 * 8 * (c) Colin O'Dell <colinodell@gmail.com> 9 * 10 * For the full copyright and license information, please view the LICENSE 11 * file that was distributed with this source code. 12 */ 13 14namespace League\Config; 15 16use League\Config\Exception\UnknownOptionException; 17 18/** 19 * Interface for setting/merging user-defined configuration values into the configuration object 20 */ 21interface MutableConfigurationInterface 22{ 23 /** 24 * @param mixed $value 25 * 26 * @throws UnknownOptionException if $key contains a nested path which doesn't point to an array value 27 */ 28 public function set(string $key, $value): void; 29 30 /** 31 * @param array<string, mixed> $config 32 */ 33 public function merge(array $config = []): void; 34} 35