. namespace core_communication; /** * A base communication provider. * * This interface should be used to declare support for the instantiation method for communication providers. * * Every communication provider must, as a minimum, implement this provider. * * @package core_communication * @copyright 2023 Andrew Lyons * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ interface communication_provider { /** * A base communication provider. * * @param processor $communication The communication object */ public static function load_for_instance(processor $communication): self; }