date_recur-8.x-2.2/src/Plugin/DateRecurInterpreterPluginInterface.php
src/Plugin/DateRecurInterpreterPluginInterface.php
<?php declare(strict_types=1); namespace Drupal\date_recur\Plugin; use Drupal\Component\Plugin\ConfigurableInterface; use Drupal\Component\Plugin\DependentPluginInterface; use Drupal\Core\Plugin\PluginWithFormsInterface; /** * Interface for date recur interpreter plugins. */ interface DateRecurInterpreterPluginInterface extends ConfigurableInterface, DependentPluginInterface, PluginWithFormsInterface { /** * Interpret a set of rules in a language. * * @param \Drupal\date_recur\DateRecurRuleInterface[] $rules * The rules. * @param string $language * The two-letter language code. * @param \DateTimeZone|null $timeZone * Time zone to display dates in. Time zone from rules is not used because * time zone used to calculate recurring dates may be different. Use null * for default PHP time zone. * * @return string * Rules interpreted into a string. */ public function interpret(array $rules, string $language, ?\DateTimeZone $timeZone = NULL): string; /** * The languages supported by this plugin. * * Two letter langcodes. E.g: 'en', 'fr', etc. * * @return string[] * Supported languages. */ public function supportedLanguages(): array; }