1<?php 2 3/** 4 * webtrees: online genealogy 5 * Copyright (C) 2019 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 <http://www.gnu.org/licenses/>. 16 */ 17declare(strict_types=1); 18 19namespace Fisharebest\Webtrees\Statistics\Repository\Interfaces; 20 21/** 22 * A repository providing methods for family dates related statistics (birth, death, marriage, divorce). 23 */ 24interface FamilyDatesRepositoryInterface 25{ 26 /** 27 * Find the earliest birth. 28 * 29 * @return string 30 */ 31 public function firstBirth(): string; 32 33 /** 34 * Find the earliest birth year. 35 * 36 * @return string 37 */ 38 public function firstBirthYear(): string; 39 40 /** 41 * Find the name of the earliest birth. 42 * 43 * @return string 44 */ 45 public function firstBirthName(): string; 46 47 /** 48 * Find the earliest birth place. 49 * 50 * @return string 51 */ 52 public function firstBirthPlace(): string; 53 54 /** 55 * Find the latest birth. 56 * 57 * @return string 58 */ 59 public function lastBirth(): string; 60 61 /** 62 * Find the latest birth year. 63 * 64 * @return string 65 */ 66 public function lastBirthYear(): string; 67 68 /** 69 * Find the latest birth name. 70 * 71 * @return string 72 */ 73 public function lastBirthName(): string; 74 75 /** 76 * Find the latest birth place. 77 * 78 * @return string 79 */ 80 public function lastBirthPlace(): string; 81 82 /** 83 * Find the earliest death. 84 * 85 * @return string 86 */ 87 public function firstDeath(): string; 88 89 /** 90 * Find the earliest death year. 91 * 92 * @return string 93 */ 94 public function firstDeathYear(): string; 95 96 /** 97 * Find the earliest death name. 98 * 99 * @return string 100 */ 101 public function firstDeathName(): string; 102 103 /** 104 * Find the earliest death place. 105 * 106 * @return string 107 */ 108 public function firstDeathPlace(): string; 109 110 /** 111 * Find the latest death. 112 * 113 * @return string 114 */ 115 public function lastDeath(): string; 116 117 /** 118 * Find the latest death year. 119 * 120 * @return string 121 */ 122 public function lastDeathYear(): string; 123 124 /** 125 * Find the latest death name. 126 * 127 * @return string 128 */ 129 public function lastDeathName(): string; 130 131 /** 132 * Find the place of the latest death. 133 * 134 * @return string 135 */ 136 public function lastDeathPlace(): string; 137 138 /** 139 * Find the earliest marriage. 140 * 141 * @return string 142 */ 143 public function firstMarriage(): string; 144 145 /** 146 * Find the year of the earliest marriage. 147 * 148 * @return string 149 */ 150 public function firstMarriageYear(): string; 151 152 /** 153 * Find the names of spouses of the earliest marriage. 154 * 155 * @return string 156 */ 157 public function firstMarriageName(): string; 158 159 /** 160 * Find the place of the earliest marriage. 161 * 162 * @return string 163 */ 164 public function firstMarriagePlace(): string; 165 166 /** 167 * Find the latest marriage. 168 * 169 * @return string 170 */ 171 public function lastMarriage(): string; 172 173 /** 174 * Find the year of the latest marriage. 175 * 176 * @return string 177 */ 178 public function lastMarriageYear(): string; 179 180 /** 181 * Find the names of spouses of the latest marriage. 182 * 183 * @return string 184 */ 185 public function lastMarriageName(): string; 186 187 /** 188 * Find the location of the latest marriage. 189 * 190 * @return string 191 */ 192 public function lastMarriagePlace(): string; 193 194 /** 195 * Find the earliest divorce. 196 * 197 * @return string 198 */ 199 public function firstDivorce(): string; 200 201 /** 202 * Find the year of the earliest divorce. 203 * 204 * @return string 205 */ 206 public function firstDivorceYear(): string; 207 208 /** 209 * Find the names of individuals in the earliest divorce. 210 * 211 * @return string 212 */ 213 public function firstDivorceName(): string; 214 215 /** 216 * Find the location of the earliest divorce. 217 * 218 * @return string 219 */ 220 public function firstDivorcePlace(): string; 221 222 /** 223 * Find the latest divorce. 224 * 225 * @return string 226 */ 227 public function lastDivorce(): string; 228 229 /** 230 * Find the year of the latest divorce. 231 * 232 * @return string 233 */ 234 public function lastDivorceYear(): string; 235 236 /** 237 * Find the names of the individuals in the latest divorce. 238 * 239 * @return string 240 */ 241 public function lastDivorceName(): string; 242 243 /** 244 * Find the location of the latest divorce. 245 * 246 * @return string 247 */ 248 public function lastDivorcePlace(): string; 249} 250