. */ declare(strict_types=1); namespace Fisharebest\Webtrees\Module; use Fisharebest\Webtrees\Menu; use Fisharebest\Webtrees\Tree; /** * Interface ModuleListInterface - Classes and libraries for module system */ interface ModuleListInterface extends ModuleInterface { /** * A main menu item for this list, or null if the list is empty. * * @param Tree $tree * * @return Menu|null */ public function listMenu(Tree $tree): ?Menu; /** * CSS class for the menu. * * @return string */ public function listMenuClass(): string; /** * The title for a specific instance of this list. * * @return string */ public function listTitle(): string; /** * The URL for a page showing list options. * * @param Tree $tree * @param array|null> $parameters * * @return string */ public function listUrl(Tree $tree, array $parameters = []): string; /** * Attributes for the URL. * * @return array */ public function listUrlAttributes(): array; /** * @param Tree $tree * * @return bool */ public function listIsEmpty(Tree $tree): bool; }