geno/wp-content/plugins/mailpoet/lib/Automation/Engine/Integration/Subject.php

28 lines
605 B
PHP
Raw Normal View History

2024-02-01 17:24:18 +05:30
<?php declare(strict_types = 1);
namespace MailPoet\Automation\Engine\Integration;
if (!defined('ABSPATH')) exit;
use MailPoet\Automation\Engine\Data\Field;
use MailPoet\Automation\Engine\Data\Subject as SubjectData;
use MailPoet\Validator\Schema\ObjectSchema;
/**
* @template-covariant T of Payload
*/
interface Subject {
public function getKey(): string;
public function getName(): string;
public function getArgsSchema(): ObjectSchema;
/** @return Field[] */
public function getFields(): array;
/** @return T */
public function getPayload(SubjectData $subjectData): Payload;
}