* @copyright 2015 - 2021 Timothy J. Warren * @license http://www.opensource.org/licenses/mit-license.html MIT License * @version 5.2 * @link https://git.timshomepage.net/timw4mail/HummingBirdAnimeClient */ namespace Aviat\Ion; /** * Standard interface for retrieving/setting configuration values */ interface ConfigInterface { /** * Does the config item exist? */ public function has(array|int|string $key): bool; /** * Get a config value * * @param array|string|null $key */ public function get(array|string $key = NULL): mixed; /** * Set a config value * * @throws \InvalidArgumentException */ public function set(array|int|string $key, mixed $value): self; /** * Remove a config value */ public function delete(array|string $key): void; }