*/ interface RequiredActionInterface extends PhpSerializable { /** * @return string */ public function getName(); /** * @param RequiredActionRuleInterface $rule * @return mixed */ public function setRule(RequiredActionRuleInterface $rule); /** * @return RequiredActionRuleInterface[] */ public function getRules(); /** * Execute an action. * @return mixed */ public function execute(); /** * Mark action as completed. * @return mixed */ public function completed(); /** * Check whether the action must be executed. * @return boolean */ public function mustBeExecuted(); }