> */ public function getAvailableAddons(): array; /** * Installs an addon. * * @param string $addonId name of the addon * * @return bool true on success or false on failure */ public function installAddon(string $addonId): bool; /** * Uninstalls an addon. * * @param string $addonId name of the addon */ public function uninstallAddon(string $addonId): void; /** * Reload (uninstall and install) all updated addons. */ public function reloadAddons(): void; /** * Get the comment block of an addon as value object. */ public function getAddonInfo(string $addonId): AddonInfo; /** * Checks if the provided addon is enabled */ public function isAddonEnabled(string $addonId): bool; /** * Returns a list with the IDs of the enabled addons * * @return string[] */ public function getEnabledAddons(): array; /** * Returns a list with the IDs of the non-hidden enabled addons * * @return string[] */ public function getVisibleEnabledAddons(): array; /** * Returns a list with the IDs of the enabled addons that provides admin settings. * * @return string[] */ public function getEnabledAddonsWithAdminSettings(): array; }