xref: /webtrees/app/Module/ModuleReportInterface.php (revision d11be7027e34e3121be11cc025421873364403f9)
1a25f0a04SGreg Roach<?php
23976b470SGreg Roach
3a25f0a04SGreg Roach/**
4a25f0a04SGreg Roach * webtrees: online genealogy
5*d11be702SGreg Roach * Copyright (C) 2023 webtrees development team
6a25f0a04SGreg Roach * This program is free software: you can redistribute it and/or modify
7a25f0a04SGreg Roach * it under the terms of the GNU General Public License as published by
8a25f0a04SGreg Roach * the Free Software Foundation, either version 3 of the License, or
9a25f0a04SGreg Roach * (at your option) any later version.
10a25f0a04SGreg Roach * This program is distributed in the hope that it will be useful,
11a25f0a04SGreg Roach * but WITHOUT ANY WARRANTY; without even the implied warranty of
12a25f0a04SGreg Roach * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13a25f0a04SGreg Roach * GNU General Public License for more details.
14a25f0a04SGreg Roach * You should have received a copy of the GNU General Public License
1589f7189bSGreg Roach * along with this program. If not, see <https://www.gnu.org/licenses/>.
16a25f0a04SGreg Roach */
17fcfa147eSGreg Roach
18e7f56f2aSGreg Roachdeclare(strict_types=1);
19e7f56f2aSGreg Roach
2076692c8bSGreg Roachnamespace Fisharebest\Webtrees\Module;
2176692c8bSGreg Roach
222c2c92e6SGreg Roachuse Fisharebest\Webtrees\Individual;
230e62c4b8SGreg Roachuse Fisharebest\Webtrees\Menu;
24a25f0a04SGreg Roach
25a25f0a04SGreg Roach/**
26a25f0a04SGreg Roach * Interface ModuleReportInterface - Classes and libraries for module system
27a25f0a04SGreg Roach */
2837eb8894SGreg Roachinterface ModuleReportInterface extends ModuleInterface
29c1010edaSGreg Roach{
30a25f0a04SGreg Roach    /**
319af6b024SGreg Roach     * Name of the XML report file, relative to the resources folder.
329af6b024SGreg Roach     *
339af6b024SGreg Roach     * @return string
349af6b024SGreg Roach     */
359af6b024SGreg Roach    public function xmlFilename(): string;
369af6b024SGreg Roach
379af6b024SGreg Roach    /**
380ee13198SGreg Roach     * Return a menu item for this report.
39a25f0a04SGreg Roach     *
402c2c92e6SGreg Roach     * @param Individual $individual
41dc809433SGreg Roach     *
420ee13198SGreg Roach     * @return Menu
43a25f0a04SGreg Roach     */
442c2c92e6SGreg Roach    public function getReportMenu(Individual $individual): Menu;
45a25f0a04SGreg Roach}
46