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