. namespace core\test; /** * Generic message interface. * * @package core * @category test * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later * @copyright Simey Lameze */ interface message { /** * Get the message subject. * * @return string */ public function get_subject(): string; /** * Get the text representation of the body, if one was provided. * * @return null|string */ public function get_body_text(): ?string; /** * Get the HTML representation of the body, if one was provided. * * @return null|string */ public function get_body_html(): ?string; /** * Get the message sender. * * @return message_user */ public function get_sender(): message_user; /** * Get the message recipients. * * @return iterable */ public function get_recipients(): iterable; /** * Whether the message has the specified recipient. * * @param string $email The email address. * @return bool */ public function has_recipient(string $email): bool; /** * Get the message cc recipients. * * @return iterable */ public function get_cc(): iterable; /** * Get the message cc recipients. * * @return iterable */ public function get_bcc(): iterable; }