. */ declare(strict_types=1); namespace Fisharebest\Webtrees\Module; use Fisharebest\Webtrees\Tree; use Symfony\Component\HttpFoundation\Request; /** * Interface ModuleInterface - Classes and libraries for module system */ interface ModuleInterface { /** * Create a new module. * * @param string $directory Where is this module installed */ public function __construct(string $directory); /** * How should this module be labelled on tabs, menus, etc.? * * @return string */ public function getTitle(): string; /** * A sentence describing what this module does. * * @return string */ public function getDescription(): string; /** * What is the default access level for this module? * * Some modules are aimed at admins or managers, and are not generally shown to users. * * @return int Returns one of: Auth::PRIV_HIDE, Auth::PRIV_PRIVATE, Auth::PRIV_USER, Auth::PRIV_NONE */ public function defaultAccessLevel(): int; /** * Provide a unique internal name for this module * * @return string */ public function getName(): string; }