<?php
/**
 * Global plugin settings repository contract.
 *
 * For keys stored in OptionStore that are not scoped to a single module
 * (UI preferences, OAuth debug flag, quick launcher shortcut, etc.).
 *
 * @package WP_PowerSuite\Core\Contracts
 * @since 1.2.0
 */

namespace WP_PowerSuite\Core\Contracts;

interface PluginSettingsRepository {

	/**
	 * @param mixed $default
	 * @return mixed
	 */
	public function get( string $key, mixed $default = null ): mixed;

	/**
	 * @param mixed $value
	 */
	public function set( string $key, mixed $value ): bool;

	public function clearCache(): void;
}
