1<?php 2 3/** 4 * webtrees: online genealogy 5 * Copyright (C) 2022 webtrees development team 6 * This program is free software: you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License as published by 8 * the Free Software Foundation, either version 3 of the License, or 9 * (at your option) any later version. 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * You should have received a copy of the GNU General Public License 15 * along with this program. If not, see <https://www.gnu.org/licenses/>. 16 */ 17 18declare(strict_types=1); 19 20namespace Fisharebest\Webtrees\Statistics\Repository\Interfaces; 21 22/** 23 * A repository providing methods for family dates related statistics (birth, death, marriage, divorce). 24 */ 25interface FamilyDatesRepositoryInterface 26{ 27 /** 28 * Find the earliest birth. 29 * 30 * @return string 31 */ 32 public function firstBirth(): string; 33 34 /** 35 * Find the earliest birth year. 36 * 37 * @return string 38 */ 39 public function firstBirthYear(): string; 40 41 /** 42 * Find the name of the earliest birth. 43 * 44 * @return string 45 */ 46 public function firstBirthName(): string; 47 48 /** 49 * Find the earliest birth place. 50 * 51 * @return string 52 */ 53 public function firstBirthPlace(): string; 54 55 /** 56 * Find the latest birth. 57 * 58 * @return string 59 */ 60 public function lastBirth(): string; 61 62 /** 63 * Find the latest birth year. 64 * 65 * @return string 66 */ 67 public function lastBirthYear(): string; 68 69 /** 70 * Find the latest birth name. 71 * 72 * @return string 73 */ 74 public function lastBirthName(): string; 75 76 /** 77 * Find the latest birth place. 78 * 79 * @return string 80 */ 81 public function lastBirthPlace(): string; 82 83 /** 84 * Find the earliest death. 85 * 86 * @return string 87 */ 88 public function firstDeath(): string; 89 90 /** 91 * Find the earliest death year. 92 * 93 * @return string 94 */ 95 public function firstDeathYear(): string; 96 97 /** 98 * Find the earliest death name. 99 * 100 * @return string 101 */ 102 public function firstDeathName(): string; 103 104 /** 105 * Find the earliest death place. 106 * 107 * @return string 108 */ 109 public function firstDeathPlace(): string; 110 111 /** 112 * Find the latest death. 113 * 114 * @return string 115 */ 116 public function lastDeath(): string; 117 118 /** 119 * Find the latest death year. 120 * 121 * @return string 122 */ 123 public function lastDeathYear(): string; 124 125 /** 126 * Find the latest death name. 127 * 128 * @return string 129 */ 130 public function lastDeathName(): string; 131 132 /** 133 * Find the place of the latest death. 134 * 135 * @return string 136 */ 137 public function lastDeathPlace(): string; 138 139 /** 140 * Find the earliest marriage. 141 * 142 * @return string 143 */ 144 public function firstMarriage(): string; 145 146 /** 147 * Find the year of the earliest marriage. 148 * 149 * @return string 150 */ 151 public function firstMarriageYear(): string; 152 153 /** 154 * Find the names of spouses of the earliest marriage. 155 * 156 * @return string 157 */ 158 public function firstMarriageName(): string; 159 160 /** 161 * Find the place of the earliest marriage. 162 * 163 * @return string 164 */ 165 public function firstMarriagePlace(): string; 166 167 /** 168 * Find the latest marriage. 169 * 170 * @return string 171 */ 172 public function lastMarriage(): string; 173 174 /** 175 * Find the year of the latest marriage. 176 * 177 * @return string 178 */ 179 public function lastMarriageYear(): string; 180 181 /** 182 * Find the names of spouses of the latest marriage. 183 * 184 * @return string 185 */ 186 public function lastMarriageName(): string; 187 188 /** 189 * Find the location of the latest marriage. 190 * 191 * @return string 192 */ 193 public function lastMarriagePlace(): string; 194 195 /** 196 * Find the earliest divorce. 197 * 198 * @return string 199 */ 200 public function firstDivorce(): string; 201 202 /** 203 * Find the year of the earliest divorce. 204 * 205 * @return string 206 */ 207 public function firstDivorceYear(): string; 208 209 /** 210 * Find the names of individuals in the earliest divorce. 211 * 212 * @return string 213 */ 214 public function firstDivorceName(): string; 215 216 /** 217 * Find the location of the earliest divorce. 218 * 219 * @return string 220 */ 221 public function firstDivorcePlace(): string; 222 223 /** 224 * Find the latest divorce. 225 * 226 * @return string 227 */ 228 public function lastDivorce(): string; 229 230 /** 231 * Find the year of the latest divorce. 232 * 233 * @return string 234 */ 235 public function lastDivorceYear(): string; 236 237 /** 238 * Find the names of the individuals in the latest divorce. 239 * 240 * @return string 241 */ 242 public function lastDivorceName(): string; 243 244 /** 245 * Find the location of the latest divorce. 246 * 247 * @return string 248 */ 249 public function lastDivorcePlace(): string; 250} 251