. */ declare(strict_types=1); namespace Fisharebest\Webtrees\Module; use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ServerRequestInterface; /** * Interface ModuleAnalyticsInterface - Classes and libraries for module system */ interface ModuleAnalyticsInterface extends ModuleInterface { /** * Should we add this tracker? * * @return bool */ public function analyticsCanShow(): bool; /** * Form fields to edit the parameters. * * @return string */ public function analyticsFormFields(): string; /** * The parameters that need to be embedded in the snippet. * * @return string[] */ public function analyticsParameters(): array; /** * Embed placeholders in the snippet. * * @param string[] $parameters * * @return string */ public function analyticsSnippet(array $parameters): string; /** * @return ResponseInterface */ public function getAdminAction(): ResponseInterface; /** * @param ServerRequestInterface $request * * @return ResponseInterface */ public function postAdminAction(ServerRequestInterface $request): ResponseInterface; }