| 
									
										
										
										
											2019-03-24 09:23:36 +01:00
										 |  |  | <?php | 
					
						
							|  |  |  | /** | 
					
						
							|  |  |  |  * GroupCollectorInterface.php | 
					
						
							| 
									
										
										
										
											2020-01-28 08:46:01 +01:00
										 |  |  |  * Copyright (c) 2019 james@firefly-iii.org | 
					
						
							| 
									
										
										
										
											2019-03-24 09:23:36 +01:00
										 |  |  |  * | 
					
						
							| 
									
										
										
										
											2019-10-02 06:37:26 +02:00
										 |  |  |  * This file is part of Firefly III (https://github.com/firefly-iii). | 
					
						
							| 
									
										
										
										
											2019-03-24 09:23:36 +01:00
										 |  |  |  * | 
					
						
							| 
									
										
										
										
											2019-10-02 06:37:26 +02:00
										 |  |  |  * This program is free software: you can redistribute it and/or modify | 
					
						
							|  |  |  |  * it under the terms of the GNU Affero General Public License as | 
					
						
							|  |  |  |  * published by the Free Software Foundation, either version 3 of the | 
					
						
							|  |  |  |  * License, or (at your option) any later version. | 
					
						
							| 
									
										
										
										
											2019-03-24 09:23:36 +01:00
										 |  |  |  * | 
					
						
							| 
									
										
										
										
											2019-10-02 06:37:26 +02:00
										 |  |  |  * This program is distributed in the hope that it will be useful, | 
					
						
							| 
									
										
										
										
											2019-03-24 09:23:36 +01:00
										 |  |  |  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
					
						
							|  |  |  |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
					
						
							| 
									
										
										
										
											2019-10-02 06:37:26 +02:00
										 |  |  |  * GNU Affero General Public License for more details. | 
					
						
							| 
									
										
										
										
											2019-03-24 09:23:36 +01:00
										 |  |  |  * | 
					
						
							| 
									
										
										
										
											2019-10-02 06:37:26 +02:00
										 |  |  |  * You should have received a copy of the GNU Affero General Public License | 
					
						
							|  |  |  |  * along with this program.  If not, see <https://www.gnu.org/licenses/>. | 
					
						
							| 
									
										
										
										
											2019-03-24 09:23:36 +01:00
										 |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | declare(strict_types=1); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | namespace FireflyIII\Helpers\Collector; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | use Carbon\Carbon; | 
					
						
							| 
									
										
										
										
											2019-03-25 15:14:09 +01:00
										 |  |  | use FireflyIII\Models\Bill; | 
					
						
							|  |  |  | use FireflyIII\Models\Budget; | 
					
						
							|  |  |  | use FireflyIII\Models\Category; | 
					
						
							|  |  |  | use FireflyIII\Models\Tag; | 
					
						
							|  |  |  | use FireflyIII\Models\TransactionCurrency; | 
					
						
							| 
									
										
										
										
											2019-03-30 07:09:52 +01:00
										 |  |  | use FireflyIII\Models\TransactionGroup; | 
					
						
							| 
									
										
										
										
											2023-08-01 19:38:53 +02:00
										 |  |  | use FireflyIII\Models\UserGroup; | 
					
						
							| 
									
										
										
										
											2019-03-24 09:23:36 +01:00
										 |  |  | use FireflyIII\User; | 
					
						
							| 
									
										
										
										
											2019-03-24 14:48:12 +01:00
										 |  |  | use Illuminate\Pagination\LengthAwarePaginator; | 
					
						
							| 
									
										
										
										
											2019-03-24 09:23:36 +01:00
										 |  |  | use Illuminate\Support\Collection; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /** | 
					
						
							|  |  |  |  * Interface GroupCollectorInterface | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | interface GroupCollectorInterface | 
					
						
							|  |  |  | { | 
					
						
							| 
									
										
										
										
											2019-03-30 07:09:52 +01:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2019-09-03 22:35:41 +02:00
										 |  |  |      * Get transactions with a specific amount. | 
					
						
							| 
									
										
										
										
											2019-03-30 07:09:52 +01:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $amount | 
					
						
							| 
									
										
										
										
											2019-09-03 22:35:41 +02:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							| 
									
										
										
										
											2019-03-30 07:09:52 +01:00
										 |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function amountIs(string $amount): self; | 
					
						
							| 
									
										
										
										
											2019-03-30 07:09:52 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $amount | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function amountIsNot(string $amount): self; | 
					
						
							| 
									
										
										
										
											2022-09-18 12:23:20 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-08-14 19:06:05 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2019-09-03 22:35:41 +02:00
										 |  |  |      * Get transactions where the amount is less than. | 
					
						
							| 
									
										
										
										
											2019-08-14 19:06:05 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $amount | 
					
						
							| 
									
										
										
										
											2019-08-14 19:06:05 +02:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function amountLess(string $amount): self; | 
					
						
							| 
									
										
										
										
											2019-08-14 19:06:05 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  |      * Get transactions where the foreign amount is more than. | 
					
						
							| 
									
										
										
										
											2019-08-14 19:06:05 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $amount | 
					
						
							| 
									
										
										
										
											2019-08-14 19:06:05 +02:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function amountMore(string $amount): self; | 
					
						
							| 
									
										
										
										
											2019-08-14 19:06:05 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-03-28 07:54:52 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $name | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-03-28 07:54:52 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function attachmentNameContains(string $name): self; | 
					
						
							| 
									
										
										
										
											2022-03-28 07:54:52 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-28 07:35:57 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $name | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-09-28 07:35:57 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function attachmentNameDoesNotContain(string $name): self; | 
					
						
							| 
									
										
										
										
											2022-09-28 07:35:57 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-03-28 07:54:52 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $name | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-03-28 07:54:52 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function attachmentNameDoesNotEnd(string $name): self; | 
					
						
							| 
									
										
										
										
											2022-03-28 07:54:52 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-28 07:35:57 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $name | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-09-28 07:35:57 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function attachmentNameDoesNotStart(string $name): self; | 
					
						
							| 
									
										
										
										
											2022-09-28 07:35:57 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-03-28 07:54:52 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $name | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-03-28 07:54:52 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function attachmentNameEnds(string $name): self; | 
					
						
							| 
									
										
										
										
											2022-03-28 07:54:52 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-28 07:35:57 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $name | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-09-28 07:35:57 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function attachmentNameIs(string $name): self; | 
					
						
							| 
									
										
										
										
											2022-09-28 07:35:57 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $name | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-09-28 07:35:57 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function attachmentNameIsNot(string $name): self; | 
					
						
							| 
									
										
										
										
											2022-09-28 07:35:57 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-03-28 07:54:52 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $name | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-03-28 07:54:52 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function attachmentNameStarts(string $name): self; | 
					
						
							| 
									
										
										
										
											2022-03-28 07:54:52 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $value | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-03-28 07:54:52 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function attachmentNotesAre(string $value): self; | 
					
						
							| 
									
										
										
										
											2022-03-28 07:54:52 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-28 07:35:57 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $value | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-09-28 07:35:57 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function attachmentNotesAreNot(string $value): self; | 
					
						
							| 
									
										
										
										
											2022-09-28 07:35:57 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-03-28 07:54:52 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $value | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-03-28 07:54:52 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function attachmentNotesContains(string $value): self; | 
					
						
							| 
									
										
										
										
											2022-03-28 07:54:52 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-28 07:35:57 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $value | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-09-28 07:35:57 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function attachmentNotesDoNotContain(string $value): self; | 
					
						
							| 
									
										
										
										
											2022-09-28 07:35:57 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-03-28 07:54:52 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $value | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-03-28 07:54:52 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function attachmentNotesDoNotEnd(string $value): self; | 
					
						
							| 
									
										
										
										
											2022-03-28 07:54:52 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $value | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-03-28 07:54:52 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function attachmentNotesDoNotStart(string $value): self; | 
					
						
							| 
									
										
										
										
											2022-03-28 07:54:52 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-28 07:35:57 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $value | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-09-28 07:35:57 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function attachmentNotesEnds(string $value): self; | 
					
						
							| 
									
										
										
										
											2022-09-28 07:35:57 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $value | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-09-28 07:35:57 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function attachmentNotesStarts(string $value): self; | 
					
						
							| 
									
										
										
										
											2022-09-28 07:35:57 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-03-21 06:31:38 +01:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $day | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-03-21 06:31:38 +01:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function dayAfter(string $day): self; | 
					
						
							| 
									
										
										
										
											2022-03-21 06:31:38 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $day | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-03-21 06:31:38 +01:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function dayBefore(string $day): self; | 
					
						
							| 
									
										
										
										
											2022-03-21 06:31:38 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $day | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-03-21 06:31:38 +01:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function dayIs(string $day): self; | 
					
						
							| 
									
										
										
										
											2022-03-21 06:31:38 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $day | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function dayIsNot(string $day): self; | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-03-21 09:15:40 +01:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:58 +02:00
										 |  |  |      * End of the description must not match: | 
					
						
							| 
									
										
										
										
											2021-03-21 09:15:40 +01:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param array $array | 
					
						
							| 
									
										
										
										
											2021-03-21 09:15:40 +01:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function descriptionDoesNotEnd(array $array): self; | 
					
						
							| 
									
										
										
										
											2021-03-21 09:15:40 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:58 +02:00
										 |  |  |      * Beginning of the description must not start with: | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param array $array | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function descriptionDoesNotStart(array $array): self; | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:58 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * End of the description must match: | 
					
						
							|  |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param array $array | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:58 +02:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function descriptionEnds(array $array): self; | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-03-21 09:15:40 +01:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Description must be: | 
					
						
							|  |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $value | 
					
						
							| 
									
										
										
										
											2021-03-21 09:15:40 +01:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function descriptionIs(string $value): self; | 
					
						
							| 
									
										
										
										
											2021-03-21 09:15:40 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Description must not be: | 
					
						
							|  |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $value | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function descriptionIsNot(string $value): self; | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-03-21 09:15:40 +01:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Beginning of the description must match: | 
					
						
							|  |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param array $array | 
					
						
							| 
									
										
										
										
											2021-03-21 09:15:40 +01:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function descriptionStarts(array $array): self; | 
					
						
							| 
									
										
										
										
											2021-03-21 09:15:40 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:58 +02:00
										 |  |  |      * These accounts must not be accounts. | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param Collection $accounts | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function excludeAccounts(Collection $accounts): self; | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:58 +02:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Exclude a specific set of bills | 
					
						
							|  |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param Collection $bills | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:58 +02:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function excludeBills(Collection $bills): self; | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:58 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * Exclude a budget | 
					
						
							|  |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param Budget $budget | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:58 +02:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function excludeBudget(Budget $budget): self; | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:58 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * Exclude a budget. | 
					
						
							|  |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param Collection $budgets | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:58 +02:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function excludeBudgets(Collection $budgets): self; | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:58 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * Exclude a set of categories. | 
					
						
							|  |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param Collection $categories | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:58 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function excludeCategories(Collection $categories): self; | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:58 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * Exclude a specific category | 
					
						
							|  |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param Category $category | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:58 +02:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function excludeCategory(Category $category): self; | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:58 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * Limit results to NOT a specific currency, either foreign or normal one. | 
					
						
							|  |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param TransactionCurrency $currency | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:58 +02:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function excludeCurrency(TransactionCurrency $currency): self; | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-08-14 19:06:05 +02:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Exclude destination accounts. | 
					
						
							| 
									
										
										
										
											2019-09-03 22:35:41 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param Collection $accounts | 
					
						
							| 
									
										
										
										
											2019-08-14 19:06:05 +02:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function excludeDestinationAccounts(Collection $accounts): self; | 
					
						
							| 
									
										
										
										
											2019-08-14 19:06:05 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-12-29 19:41:57 +01:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Look for specific external ID's. | 
					
						
							|  |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $externalId | 
					
						
							| 
									
										
										
										
											2022-12-29 19:41:57 +01:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function excludeExternalId(string $externalId): self; | 
					
						
							| 
									
										
										
										
											2022-12-29 19:41:57 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $url | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-12-29 19:41:57 +01:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function excludeExternalUrl(string $url): self; | 
					
						
							| 
									
										
										
										
											2022-12-29 19:41:57 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:58 +02:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Limit results to exclude a specific foreign currency. | 
					
						
							|  |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param TransactionCurrency $currency | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:58 +02:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function excludeForeignCurrency(TransactionCurrency $currency): self; | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:58 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * Limit the result to NOT a set of specific transaction groups. | 
					
						
							|  |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param array $groupIds | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:58 +02:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function excludeIds(array $groupIds): self; | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:58 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-12-29 19:41:57 +01:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Look for specific external ID's. | 
					
						
							|  |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-07-18 18:15:07 +02:00
										 |  |  |      * @param string $internalReference | 
					
						
							| 
									
										
										
										
											2022-12-29 19:41:57 +01:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function excludeInternalReference(string $internalReference): self; | 
					
						
							| 
									
										
										
										
											2022-12-29 19:41:57 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:58 +02:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Limit the result to NOT a set of specific transaction journals. | 
					
						
							|  |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param array $journalIds | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:58 +02:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function excludeJournalIds(array $journalIds): self; | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:58 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param Carbon $start | 
					
						
							|  |  |  |      * @param Carbon $end | 
					
						
							|  |  |  |      * @param string $field | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:58 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function excludeMetaDateRange(Carbon $start, Carbon $end, string $field): self; | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:58 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param Carbon $start | 
					
						
							|  |  |  |      * @param Carbon $end | 
					
						
							|  |  |  |      * @param string $field | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:58 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function excludeObjectRange(Carbon $start, Carbon $end, string $field): self; | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:58 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param Carbon $start | 
					
						
							|  |  |  |      * @param Carbon $end | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:58 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function excludeRange(Carbon $start, Carbon $end): self; | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:58 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-12-29 19:41:57 +01:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $recurringId | 
					
						
							| 
									
										
										
										
											2022-12-29 19:41:57 +01:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function excludeRecurrenceId(string $recurringId): self; | 
					
						
							| 
									
										
										
										
											2022-12-29 19:41:57 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:58 +02:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Exclude words in descriptions. | 
					
						
							|  |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param array $array | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:58 +02:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function excludeSearchWords(array $array): self; | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:58 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-08-14 19:06:05 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2019-09-03 22:35:41 +02:00
										 |  |  |      * These accounts must not be source accounts. | 
					
						
							| 
									
										
										
										
											2019-08-14 19:06:05 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param Collection $accounts | 
					
						
							| 
									
										
										
										
											2019-08-14 19:06:05 +02:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function excludeSourceAccounts(Collection $accounts): self; | 
					
						
							| 
									
										
										
										
											2019-05-30 12:31:19 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:58 +02:00
										 |  |  |      * Limit the included transaction types. | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param array $types | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function excludeTypes(array $types): self; | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:58 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function exists(): self; | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-03-21 06:31:38 +01:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $externalId | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-03-21 06:31:38 +01:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function externalIdContains(string $externalId): self; | 
					
						
							| 
									
										
										
										
											2022-03-21 06:31:38 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-28 07:35:57 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $externalId | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-09-28 07:35:57 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function externalIdDoesNotContain(string $externalId): self; | 
					
						
							| 
									
										
										
										
											2022-12-29 19:41:57 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-03-21 06:31:38 +01:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $externalId | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-03-21 06:31:38 +01:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function externalIdDoesNotEnd(string $externalId): self; | 
					
						
							| 
									
										
										
										
											2022-03-21 06:31:38 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-28 07:35:57 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $externalId | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-09-28 07:35:57 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function externalIdDoesNotStart(string $externalId): self; | 
					
						
							| 
									
										
										
										
											2022-09-28 07:35:57 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-03-21 06:31:38 +01:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $externalId | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-03-21 06:31:38 +01:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function externalIdEnds(string $externalId): self; | 
					
						
							| 
									
										
										
										
											2022-03-21 06:31:38 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-28 07:35:57 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $externalId | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-09-28 07:35:57 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function externalIdStarts(string $externalId): self; | 
					
						
							| 
									
										
										
										
											2022-12-29 19:41:57 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-03-24 19:34:32 +01:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $url | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-03-24 19:34:32 +01:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function externalUrlContains(string $url): self; | 
					
						
							| 
									
										
										
										
											2022-03-24 19:34:32 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-28 07:35:57 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $url | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-09-28 07:35:57 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function externalUrlDoesNotContain(string $url): self; | 
					
						
							| 
									
										
										
										
											2022-09-28 07:35:57 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-03-24 19:34:32 +01:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $url | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-03-24 19:34:32 +01:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function externalUrlDoesNotEnd(string $url): self; | 
					
						
							| 
									
										
										
										
											2022-03-24 19:34:32 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-28 07:35:57 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $url | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-09-28 07:35:57 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function externalUrlDoesNotStart(string $url): self; | 
					
						
							| 
									
										
										
										
											2022-09-28 07:35:57 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-03-24 19:34:32 +01:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $url | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-03-24 19:34:32 +01:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function externalUrlEnds(string $url): self; | 
					
						
							| 
									
										
										
										
											2022-03-24 19:34:32 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-28 07:35:57 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $url | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-09-28 07:35:57 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function externalUrlStarts(string $url): self; | 
					
						
							| 
									
										
										
										
											2022-09-28 07:35:57 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-09-18 10:26:12 +02:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Ensure the search will find nothing at all, zero results. | 
					
						
							|  |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function findNothing(): self; | 
					
						
							| 
									
										
										
										
											2021-09-18 10:26:12 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Get transactions with a specific foreign amount. | 
					
						
							|  |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $amount | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function foreignAmountIs(string $amount): self; | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Get transactions with a specific foreign amount. | 
					
						
							|  |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $amount | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function foreignAmountIsNot(string $amount): self; | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Get transactions where the amount is less than. | 
					
						
							|  |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $amount | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function foreignAmountLess(string $amount): self; | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * Get transactions where the foreign amount is more than. | 
					
						
							|  |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $amount | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function foreignAmountMore(string $amount): self; | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-07-18 06:30:45 +02:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * @return bool | 
					
						
							|  |  |  |      */ | 
					
						
							|  |  |  |     public function getExpandGroupSearch(): bool; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-07-04 17:31:47 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2019-09-03 22:35:41 +02:00
										 |  |  |      * Return the transaction journals without group information. Is useful in some instances. | 
					
						
							| 
									
										
										
										
											2019-07-04 17:31:47 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2019-09-03 22:35:41 +02:00
										 |  |  |      * @return array | 
					
						
							| 
									
										
										
										
											2019-07-04 17:31:47 +02:00
										 |  |  |      */ | 
					
						
							| 
									
										
										
										
											2019-09-03 22:35:41 +02:00
										 |  |  |     public function getExtractedJournals(): array; | 
					
						
							| 
									
										
										
										
											2019-07-04 17:31:47 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-03-24 09:23:36 +01:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Return the groups. | 
					
						
							|  |  |  |      * | 
					
						
							|  |  |  |      * @return Collection | 
					
						
							|  |  |  |      */ | 
					
						
							|  |  |  |     public function getGroups(): Collection; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-03-24 14:48:12 +01:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Same as getGroups but everything is in a paginator. | 
					
						
							|  |  |  |      * | 
					
						
							|  |  |  |      * @return LengthAwarePaginator | 
					
						
							|  |  |  |      */ | 
					
						
							|  |  |  |     public function getPaginatedGroups(): LengthAwarePaginator; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-03-21 09:15:40 +01:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function hasAnyTag(): self; | 
					
						
							| 
									
										
										
										
											2021-03-21 09:15:40 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * Has attachments | 
					
						
							|  |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function hasAttachments(): self; | 
					
						
							| 
									
										
										
										
											2021-03-21 09:15:40 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-03-27 08:48:30 +02:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Has no attachments | 
					
						
							|  |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function hasNoAttachments(): self; | 
					
						
							| 
									
										
										
										
											2022-03-27 08:48:30 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-03-21 06:31:38 +01:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-07-18 18:15:07 +02:00
										 |  |  |      * @param string $internalReference | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-03-21 06:31:38 +01:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function internalReferenceContains(string $internalReference): self; | 
					
						
							| 
									
										
										
										
											2022-03-21 06:31:38 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-28 07:35:57 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-07-18 18:15:07 +02:00
										 |  |  |      * @param string $internalReference | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-09-28 07:35:57 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function internalReferenceDoesNotContain(string $internalReference): self; | 
					
						
							| 
									
										
										
										
											2022-09-28 07:35:57 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-03-21 06:31:38 +01:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-07-18 18:15:07 +02:00
										 |  |  |      * @param string $internalReference | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-03-21 06:31:38 +01:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function internalReferenceDoesNotEnd(string $internalReference): self; | 
					
						
							| 
									
										
										
										
											2022-03-21 06:31:38 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-28 07:35:57 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-07-18 18:15:07 +02:00
										 |  |  |      * @param string $internalReference | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-09-28 07:35:57 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function internalReferenceDoesNotStart(string $internalReference): self; | 
					
						
							| 
									
										
										
										
											2022-09-28 07:35:57 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-03-21 06:31:38 +01:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-07-18 18:15:07 +02:00
										 |  |  |      * @param string $internalReference | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-03-21 06:31:38 +01:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function internalReferenceEnds(string $internalReference): self; | 
					
						
							| 
									
										
										
										
											2022-03-21 06:31:38 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-28 07:35:57 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-07-18 18:15:07 +02:00
										 |  |  |      * @param string $internalReference | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-09-28 07:35:57 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function internalReferenceStarts(string $internalReference): self; | 
					
						
							| 
									
										
										
										
											2022-09-28 07:35:57 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:58 +02:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Only journals that are reconciled. | 
					
						
							|  |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function isNotReconciled(): self; | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:58 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * Only journals that are reconciled. | 
					
						
							|  |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function isReconciled(): self; | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:58 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $day | 
					
						
							|  |  |  |      * @param string $field | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function metaDayAfter(string $day, string $field): self; | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $day | 
					
						
							|  |  |  |      * @param string $field | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function metaDayBefore(string $day, string $field): self; | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $day | 
					
						
							|  |  |  |      * @param string $field | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function metaDayIs(string $day, string $field): self; | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $day | 
					
						
							|  |  |  |      * @param string $field | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function metaDayIsNot(string $day, string $field): self; | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $month | 
					
						
							|  |  |  |      * @param string $field | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function metaMonthAfter(string $month, string $field): self; | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $month | 
					
						
							|  |  |  |      * @param string $field | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function metaMonthBefore(string $month, string $field): self; | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $month | 
					
						
							|  |  |  |      * @param string $field | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function metaMonthIs(string $month, string $field): self; | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $month | 
					
						
							|  |  |  |      * @param string $field | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function metaMonthIsNot(string $month, string $field): self; | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $year | 
					
						
							|  |  |  |      * @param string $field | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function metaYearAfter(string $year, string $field): self; | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $year | 
					
						
							|  |  |  |      * @param string $field | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function metaYearBefore(string $year, string $field): self; | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $year | 
					
						
							|  |  |  |      * @param string $field | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function metaYearIs(string $year, string $field): self; | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $year | 
					
						
							|  |  |  |      * @param string $field | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function metaYearIsNot(string $year, string $field): self; | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-03-21 06:31:38 +01:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $month | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-03-21 06:31:38 +01:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function monthAfter(string $month): self; | 
					
						
							| 
									
										
										
										
											2022-03-21 06:31:38 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $month | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-03-21 06:31:38 +01:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function monthBefore(string $month): self; | 
					
						
							| 
									
										
										
										
											2022-03-21 06:31:38 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $month | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-03-21 06:31:38 +01:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function monthIs(string $month): self; | 
					
						
							| 
									
										
										
										
											2022-03-21 06:31:38 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $month | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function monthIsNot(string $month): self; | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-03-21 09:15:40 +01:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $value | 
					
						
							| 
									
										
										
										
											2021-03-21 09:15:40 +01:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function notesContain(string $value): self; | 
					
						
							| 
									
										
										
										
											2021-03-21 09:15:40 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $value | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function notesDoNotContain(string $value): self; | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-03-21 09:15:40 +01:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $value | 
					
						
							| 
									
										
										
										
											2021-03-21 09:15:40 +01:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function notesDontEndWith(string $value): self; | 
					
						
							| 
									
										
										
										
											2021-03-21 09:15:40 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $value | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function notesDontStartWith(string $value): self; | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-03-21 09:15:40 +01:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $value | 
					
						
							| 
									
										
										
										
											2021-03-21 09:15:40 +01:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function notesEndWith(string $value): self; | 
					
						
							| 
									
										
										
										
											2021-03-21 09:15:40 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $value | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function notesExactly(string $value): self; | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-03-21 09:15:40 +01:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $value | 
					
						
							| 
									
										
										
										
											2021-03-21 09:15:40 +01:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function notesExactlyNot(string $value): self; | 
					
						
							| 
									
										
										
										
											2021-03-21 09:15:40 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $value | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:58 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function notesStartWith(string $value): self; | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $day | 
					
						
							|  |  |  |      * @param string $field | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function objectDayAfter(string $day, string $field): self; | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $day | 
					
						
							|  |  |  |      * @param string $field | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function objectDayBefore(string $day, string $field): self; | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $day | 
					
						
							|  |  |  |      * @param string $field | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function objectDayIs(string $day, string $field): self; | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $day | 
					
						
							|  |  |  |      * @param string $field | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function objectDayIsNot(string $day, string $field): self; | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $month | 
					
						
							|  |  |  |      * @param string $field | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function objectMonthAfter(string $month, string $field): self; | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $month | 
					
						
							|  |  |  |      * @param string $field | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function objectMonthBefore(string $month, string $field): self; | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $month | 
					
						
							|  |  |  |      * @param string $field | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function objectMonthIs(string $month, string $field): self; | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $month | 
					
						
							|  |  |  |      * @param string $field | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function objectMonthIsNot(string $month, string $field): self; | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $year | 
					
						
							|  |  |  |      * @param string $field | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function objectYearAfter(string $year, string $field): self; | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $year | 
					
						
							|  |  |  |      * @param string $field | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function objectYearBefore(string $year, string $field): self; | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $year | 
					
						
							|  |  |  |      * @param string $field | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function objectYearIs(string $year, string $field): self; | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $year | 
					
						
							|  |  |  |      * @param string $field | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function objectYearIsNot(string $year, string $field): self; | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-03-24 09:23:36 +01:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Define which accounts can be part of the source and destination transactions. | 
					
						
							|  |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param Collection $accounts | 
					
						
							| 
									
										
										
										
											2019-03-24 09:23:36 +01:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function setAccounts(Collection $accounts): self; | 
					
						
							| 
									
										
										
										
											2019-03-24 09:23:36 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-03-25 15:14:09 +01:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2019-09-03 22:35:41 +02:00
										 |  |  |      * Collect transactions after a specific date. | 
					
						
							| 
									
										
										
										
											2019-03-25 15:14:09 +01:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param Carbon $date | 
					
						
							| 
									
										
										
										
											2019-03-25 15:14:09 +01:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function setAfter(Carbon $date): self; | 
					
						
							| 
									
										
										
										
											2019-03-25 15:14:09 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-05-31 13:35:33 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2019-09-03 22:35:41 +02:00
										 |  |  |      * Collect transactions before a specific date. | 
					
						
							| 
									
										
										
										
											2019-05-31 13:35:33 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param Carbon $date | 
					
						
							| 
									
										
										
										
											2019-05-31 13:35:33 +02:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function setBefore(Carbon $date): self; | 
					
						
							| 
									
										
										
										
											2019-05-31 13:35:33 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							| 
									
										
										
										
											2019-09-03 22:35:41 +02:00
										 |  |  |      * Limit the search to a specific bill. | 
					
						
							| 
									
										
										
										
											2019-05-31 13:35:33 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param Bill $bill | 
					
						
							| 
									
										
										
										
											2019-05-31 13:35:33 +02:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function setBill(Bill $bill): self; | 
					
						
							| 
									
										
										
										
											2019-05-31 13:35:33 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							| 
									
										
										
										
											2019-09-03 22:35:41 +02:00
										 |  |  |      * Limit the search to a specific set of bills. | 
					
						
							| 
									
										
										
										
											2019-05-31 13:35:33 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param Collection $bills | 
					
						
							| 
									
										
										
										
											2019-05-31 13:35:33 +02:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function setBills(Collection $bills): self; | 
					
						
							| 
									
										
										
										
											2019-05-31 13:35:33 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							| 
									
										
										
										
											2019-09-03 22:35:41 +02:00
										 |  |  |      * Both source AND destination must be in this list of accounts. | 
					
						
							| 
									
										
										
										
											2019-05-31 13:35:33 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param Collection $accounts | 
					
						
							| 
									
										
										
										
											2019-05-31 13:35:33 +02:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function setBothAccounts(Collection $accounts): self; | 
					
						
							| 
									
										
										
										
											2019-05-31 13:35:33 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-03-25 15:14:09 +01:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Limit the search to a specific budget. | 
					
						
							|  |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param Budget $budget | 
					
						
							| 
									
										
										
										
											2019-03-25 15:14:09 +01:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function setBudget(Budget $budget): self; | 
					
						
							| 
									
										
										
										
											2019-03-25 15:14:09 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * Limit the search to a specific set of budgets. | 
					
						
							|  |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param Collection $budgets | 
					
						
							| 
									
										
										
										
											2019-03-25 15:14:09 +01:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function setBudgets(Collection $budgets): self; | 
					
						
							| 
									
										
										
										
											2019-03-25 15:14:09 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-09-03 22:35:41 +02:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Limit the search to a specific bunch of categories. | 
					
						
							|  |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param Collection $categories | 
					
						
							| 
									
										
										
										
											2019-09-03 22:35:41 +02:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function setCategories(Collection $categories): self; | 
					
						
							| 
									
										
										
										
											2019-09-03 22:35:41 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-03-25 15:14:09 +01:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Limit the search to a specific category. | 
					
						
							|  |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param Category $category | 
					
						
							| 
									
										
										
										
											2019-03-25 15:14:09 +01:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function setCategory(Category $category): self; | 
					
						
							| 
									
										
										
										
											2019-03-25 15:14:09 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-17 15:01:00 +01:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Collect transactions created on a specific date. | 
					
						
							|  |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param Carbon $date | 
					
						
							| 
									
										
										
										
											2020-03-17 15:01:00 +01:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function setCreatedAt(Carbon $date): self; | 
					
						
							| 
									
										
										
										
											2019-05-29 21:52:08 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-03-25 15:14:09 +01:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Limit results to a specific currency, either foreign or normal one. | 
					
						
							|  |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param TransactionCurrency $currency | 
					
						
							| 
									
										
										
										
											2019-03-25 15:14:09 +01:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function setCurrency(TransactionCurrency $currency): self; | 
					
						
							| 
									
										
										
										
											2019-03-25 15:14:09 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-08-22 12:24:01 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2021-03-21 09:15:40 +01:00
										 |  |  |      * Set destination accounts. | 
					
						
							| 
									
										
										
										
											2020-08-22 12:24:01 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param Collection $accounts | 
					
						
							| 
									
										
										
										
											2020-08-22 12:24:01 +02:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function setDestinationAccounts(Collection $accounts): self; | 
					
						
							| 
									
										
										
										
											2020-08-22 12:24:01 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-08-08 15:03:58 +02:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Set the end time of the results to return. | 
					
						
							|  |  |  |      * | 
					
						
							|  |  |  |      * @param Carbon $end | 
					
						
							|  |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function setEnd(Carbon $end): self; | 
					
						
							| 
									
										
										
										
											2023-08-08 15:03:58 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-07-18 06:30:45 +02:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * @param bool $expandGroupSearch | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function setExpandGroupSearch(bool $expandGroupSearch): self; | 
					
						
							| 
									
										
										
										
											2023-07-18 06:30:45 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-03-24 09:23:36 +01:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2021-03-21 09:15:40 +01:00
										 |  |  |      * Look for specific external ID's. | 
					
						
							| 
									
										
										
										
											2019-03-24 09:23:36 +01:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $externalId | 
					
						
							| 
									
										
										
										
											2019-03-24 09:23:36 +01:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function setExternalId(string $externalId): self; | 
					
						
							| 
									
										
										
										
											2019-03-24 09:23:36 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-28 07:35:57 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $url | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-03-27 08:48:30 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function setExternalUrl(string $url): self; | 
					
						
							| 
									
										
										
										
											2022-03-27 08:48:30 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-05-31 13:35:33 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2021-03-21 09:15:40 +01:00
										 |  |  |      * Limit results to a specific foreign currency. | 
					
						
							| 
									
										
										
										
											2019-05-31 13:35:33 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param TransactionCurrency $currency | 
					
						
							| 
									
										
										
										
											2019-05-31 13:35:33 +02:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function setForeignCurrency(TransactionCurrency $currency): self; | 
					
						
							| 
									
										
										
										
											2019-05-31 13:35:33 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-01-20 18:41:31 +01:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Limit the result to a set of specific transaction groups. | 
					
						
							|  |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param array $groupIds | 
					
						
							| 
									
										
										
										
											2021-01-20 18:41:31 +01:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function setIds(array $groupIds): self; | 
					
						
							| 
									
										
										
										
											2021-01-20 18:41:31 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-03-24 09:23:36 +01:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2021-03-21 09:15:40 +01:00
										 |  |  |      * Look for specific external ID's. | 
					
						
							| 
									
										
										
										
											2019-03-24 09:23:36 +01:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-07-18 18:15:07 +02:00
										 |  |  |      * @param string $internalReference | 
					
						
							| 
									
										
										
										
											2019-03-24 09:23:36 +01:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function setInternalReference(string $internalReference): self; | 
					
						
							| 
									
										
										
										
											2019-03-24 09:23:36 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-03-25 15:14:09 +01:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2021-03-21 09:15:40 +01:00
										 |  |  |      * Limit the result to a set of specific transaction journals. | 
					
						
							| 
									
										
										
										
											2019-03-25 15:14:09 +01:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param array $journalIds | 
					
						
							| 
									
										
										
										
											2019-03-25 15:14:09 +01:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function setJournalIds(array $journalIds): self; | 
					
						
							| 
									
										
										
										
											2019-03-25 15:14:09 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-03-24 09:23:36 +01:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2021-03-21 09:15:40 +01:00
										 |  |  |      * Limit the number of returned entries. | 
					
						
							| 
									
										
										
										
											2019-03-24 09:23:36 +01:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param int $limit | 
					
						
							| 
									
										
										
										
											2019-03-24 09:23:36 +01:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function setLimit(int $limit): self; | 
					
						
							| 
									
										
										
										
											2019-03-24 09:23:36 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Collect transactions after a specific date. | 
					
						
							|  |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param Carbon $date | 
					
						
							|  |  |  |      * @param string $field | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function setMetaAfter(Carbon $date, string $field): self; | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * Collect transactions before a specific date. | 
					
						
							|  |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param Carbon $date | 
					
						
							|  |  |  |      * @param string $field | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function setMetaBefore(Carbon $date, string $field): self; | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * Set the start and end time of the results to return, based on meta data. | 
					
						
							|  |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param Carbon $start | 
					
						
							|  |  |  |      * @param Carbon $end | 
					
						
							|  |  |  |      * @param string $field | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function setMetaDateRange(Carbon $start, Carbon $end, string $field): self; | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:58 +02:00
										 |  |  |      * Define which accounts can NOT be part of the source and destination transactions. | 
					
						
							|  |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param Collection $accounts | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:58 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function setNotAccounts(Collection $accounts): self; | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param Carbon $date | 
					
						
							|  |  |  |      * @param string $field | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function setObjectAfter(Carbon $date, string $field): self; | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param Carbon $date | 
					
						
							|  |  |  |      * @param string $field | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function setObjectBefore(Carbon $date, string $field): self; | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param Carbon $start | 
					
						
							|  |  |  |      * @param Carbon $end | 
					
						
							|  |  |  |      * @param string $field | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function setObjectRange(Carbon $start, Carbon $end, string $field): self; | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-03-25 15:14:09 +01:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2021-03-21 09:15:40 +01:00
										 |  |  |      * Set the page to get. | 
					
						
							| 
									
										
										
										
											2019-03-25 15:14:09 +01:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param int $page | 
					
						
							| 
									
										
										
										
											2019-03-25 15:14:09 +01:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function setPage(int $page): self; | 
					
						
							| 
									
										
										
										
											2019-03-25 15:14:09 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-08-22 12:24:01 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2021-03-21 09:15:40 +01:00
										 |  |  |      * Set the start and end time of the results to return. | 
					
						
							| 
									
										
										
										
											2020-08-22 12:24:01 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param Carbon $start | 
					
						
							|  |  |  |      * @param Carbon $end | 
					
						
							| 
									
										
										
										
											2020-08-22 12:24:01 +02:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function setRange(Carbon $start, Carbon $end): self; | 
					
						
							| 
									
										
										
										
											2020-08-22 12:24:01 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-03-27 08:48:30 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2022-03-27 16:03:50 +02:00
										 |  |  |      * Look for specific recurring ID's. | 
					
						
							| 
									
										
										
										
											2022-03-27 08:48:30 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $recurringId | 
					
						
							| 
									
										
										
										
											2022-03-27 08:48:30 +02:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function setRecurrenceId(string $recurringId): self; | 
					
						
							| 
									
										
										
										
											2022-03-27 08:48:30 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-08-22 12:24:01 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2021-03-21 09:15:40 +01:00
										 |  |  |      * Search for words in descriptions. | 
					
						
							| 
									
										
										
										
											2020-08-22 12:24:01 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param array $array | 
					
						
							| 
									
										
										
										
											2020-08-22 12:24:01 +02:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function setSearchWords(array $array): self; | 
					
						
							| 
									
										
										
										
											2020-08-22 12:24:01 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-12-31 13:32:42 +01:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $sepaCT | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-12-31 13:32:42 +01:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function setSepaCT(string $sepaCT): self; | 
					
						
							| 
									
										
										
										
											2022-12-31 13:32:42 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-05-29 21:52:08 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2019-09-03 22:35:41 +02:00
										 |  |  |      * Set source accounts. | 
					
						
							| 
									
										
										
										
											2019-05-29 21:52:08 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param Collection $accounts | 
					
						
							| 
									
										
										
										
											2019-05-29 21:52:08 +02:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function setSourceAccounts(Collection $accounts): self; | 
					
						
							| 
									
										
										
										
											2019-05-29 21:52:08 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-08-08 15:03:58 +02:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Set the start time of the results to return. | 
					
						
							|  |  |  |      * | 
					
						
							|  |  |  |      * @param Carbon $start | 
					
						
							|  |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function setStart(Carbon $start): self; | 
					
						
							| 
									
										
										
										
											2023-08-08 15:03:58 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-05-30 12:31:19 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2019-09-03 22:35:41 +02:00
										 |  |  |      * Limit results to a specific tag. | 
					
						
							|  |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param Tag $tag | 
					
						
							| 
									
										
										
										
											2019-05-30 12:31:19 +02:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function setTag(Tag $tag): self; | 
					
						
							| 
									
										
										
										
											2019-05-30 12:31:19 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							| 
									
										
										
										
											2019-09-03 22:35:41 +02:00
										 |  |  |      * Limit results to a specific set of tags. | 
					
						
							|  |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param Collection $tags | 
					
						
							| 
									
										
										
										
											2019-05-30 12:31:19 +02:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function setTags(Collection $tags): self; | 
					
						
							| 
									
										
										
										
											2019-05-30 12:31:19 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-03-30 07:09:52 +01:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Limit the search to one specific transaction group. | 
					
						
							|  |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param TransactionGroup $transactionGroup | 
					
						
							| 
									
										
										
										
											2019-03-30 07:09:52 +01:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function setTransactionGroup(TransactionGroup $transactionGroup): self; | 
					
						
							| 
									
										
										
										
											2019-03-30 07:09:52 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-03-24 14:48:12 +01:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Limit the included transaction types. | 
					
						
							|  |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param array $types | 
					
						
							| 
									
										
										
										
											2019-03-24 14:48:12 +01:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function setTypes(array $types): self; | 
					
						
							| 
									
										
										
										
											2019-03-24 14:48:12 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-17 15:01:00 +01:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Collect transactions updated on a specific date. | 
					
						
							|  |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param Carbon $date | 
					
						
							| 
									
										
										
										
											2020-03-17 15:01:00 +01:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function setUpdatedAt(Carbon $date): self; | 
					
						
							| 
									
										
										
										
											2020-03-17 15:01:00 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-03-24 09:23:36 +01:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Set the user object and start the query. | 
					
						
							|  |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param User $user | 
					
						
							| 
									
										
										
										
											2019-03-24 09:23:36 +01:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function setUser(User $user): self; | 
					
						
							| 
									
										
										
										
											2019-03-24 09:23:36 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-08-01 19:38:53 +02:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Set the user group object and start the query. | 
					
						
							|  |  |  |      * | 
					
						
							|  |  |  |      * @param UserGroup $userGroup | 
					
						
							|  |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function setUserGroup(UserGroup $userGroup): self; | 
					
						
							| 
									
										
										
										
											2023-08-01 19:38:53 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-03-21 06:31:38 +01:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Only when does not have these tags | 
					
						
							|  |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param Collection $tags | 
					
						
							| 
									
										
										
										
											2022-03-21 06:31:38 +01:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function setWithoutSpecificTags(Collection $tags): self; | 
					
						
							| 
									
										
										
										
											2022-03-21 06:31:38 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-17 15:01:00 +01:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Either account can be set, but NOT both. This effectively excludes internal transfers. | 
					
						
							|  |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param Collection $accounts | 
					
						
							| 
									
										
										
										
											2020-03-17 15:01:00 +01:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function setXorAccounts(Collection $accounts): self; | 
					
						
							| 
									
										
										
										
											2020-03-17 15:01:00 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-03-25 15:14:09 +01:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Automatically include all stuff required to make API calls work. | 
					
						
							|  |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function withAPIInformation(): self; | 
					
						
							| 
									
										
										
										
											2019-03-25 15:14:09 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-03-24 14:48:12 +01:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Will include the source and destination account names and types. | 
					
						
							|  |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function withAccountInformation(): self; | 
					
						
							| 
									
										
										
										
											2019-03-24 14:48:12 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-17 15:01:00 +01:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2021-03-21 09:15:40 +01:00
										 |  |  |      * Any notes, no matter what. | 
					
						
							| 
									
										
										
										
											2020-03-17 15:01:00 +01:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function withAnyNotes(): self; | 
					
						
							| 
									
										
										
										
											2020-03-17 15:01:00 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-08-22 12:24:01 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2021-03-21 09:15:40 +01:00
										 |  |  |      * Add basic info on attachments of transactions. | 
					
						
							| 
									
										
										
										
											2020-08-22 12:24:01 +02:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function withAttachmentInformation(): self; | 
					
						
							| 
									
										
										
										
											2020-08-22 12:24:01 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-09-18 10:26:12 +02:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Limit results to transactions without a bill.. | 
					
						
							|  |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function withBill(): self; | 
					
						
							| 
									
										
										
										
											2021-09-18 10:26:12 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-05-29 21:52:08 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2019-09-03 22:35:41 +02:00
										 |  |  |      * Include bill name + ID. | 
					
						
							| 
									
										
										
										
											2019-05-29 21:52:08 +02:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function withBillInformation(): self; | 
					
						
							| 
									
										
										
										
											2019-05-29 21:52:08 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-05-31 13:35:33 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2021-03-21 09:15:40 +01:00
										 |  |  |      * Limit results to a transactions with a budget. | 
					
						
							| 
									
										
										
										
											2019-05-31 13:35:33 +02:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function withBudget(): self; | 
					
						
							| 
									
										
										
										
											2019-05-31 13:35:33 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							| 
									
										
										
										
											2021-03-21 09:15:40 +01:00
										 |  |  |      * Will include budget ID + name, if any. | 
					
						
							| 
									
										
										
										
											2019-05-31 13:35:33 +02:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function withBudgetInformation(): self; | 
					
						
							| 
									
										
										
										
											2019-05-31 13:35:33 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-06-09 17:40:09 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2021-03-21 09:15:40 +01:00
										 |  |  |      * Limit results to a transactions with a category. | 
					
						
							| 
									
										
										
										
											2020-06-09 17:40:09 +02:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function withCategory(): self; | 
					
						
							| 
									
										
										
										
											2020-06-09 17:40:09 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-08-22 12:24:01 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2021-03-21 09:15:40 +01:00
										 |  |  |      * Will include category ID + name, if any. | 
					
						
							| 
									
										
										
										
											2020-08-22 12:24:01 +02:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function withCategoryInformation(): self; | 
					
						
							| 
									
										
										
										
											2020-08-22 12:24:01 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-03-21 06:31:38 +01:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2022-12-29 19:41:57 +01:00
										 |  |  |      * Transactions with any external ID | 
					
						
							| 
									
										
										
										
											2022-03-21 06:31:38 +01:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function withExternalId(): self; | 
					
						
							| 
									
										
										
										
											2022-03-21 06:31:38 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-12-29 15:42:26 +01:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2022-12-29 19:41:57 +01:00
										 |  |  |      * Transactions with any external URL | 
					
						
							| 
									
										
										
										
											2022-12-29 15:42:26 +01:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function withExternalUrl(): self; | 
					
						
							| 
									
										
										
										
											2022-12-29 15:42:26 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-03-27 08:48:30 +02:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Transaction must have meta date field X. | 
					
						
							|  |  |  |      * | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $field | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-03-27 08:48:30 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function withMetaDate(string $field): self; | 
					
						
							| 
									
										
										
										
											2022-03-27 08:48:30 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-08-22 12:24:01 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2021-03-21 09:15:40 +01:00
										 |  |  |      * Will include notes. | 
					
						
							|  |  |  |      * | 
					
						
							| 
									
										
										
										
											2020-08-22 12:24:01 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function withNotes(): self; | 
					
						
							| 
									
										
										
										
											2020-08-22 12:24:01 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-03-24 14:48:12 +01:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2019-09-03 22:35:41 +02:00
										 |  |  |      * Add tag info. | 
					
						
							| 
									
										
										
										
											2019-03-24 14:48:12 +01:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function withTagInformation(): self; | 
					
						
							| 
									
										
										
										
											2019-03-24 14:48:12 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-03-05 20:17:39 +01:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Limit results to a transactions without a bill. | 
					
						
							|  |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function withoutBill(): self; | 
					
						
							| 
									
										
										
										
											2019-03-24 14:48:12 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							| 
									
										
										
										
											2021-03-21 09:15:40 +01:00
										 |  |  |      * Limit results to a transactions without a budget. | 
					
						
							| 
									
										
										
										
											2020-08-22 12:24:01 +02:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function withoutBudget(): self; | 
					
						
							| 
									
										
										
										
											2020-08-22 12:24:01 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							| 
									
										
										
										
											2021-03-21 09:15:40 +01:00
										 |  |  |      * Limit results to a transactions without a category. | 
					
						
							| 
									
										
										
										
											2020-08-22 12:24:01 +02:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function withoutCategory(): self; | 
					
						
							| 
									
										
										
										
											2020-08-22 12:24:01 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-03-21 06:31:38 +01:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2022-12-29 19:41:57 +01:00
										 |  |  |      * Transactions without an external ID | 
					
						
							| 
									
										
										
										
											2022-03-21 06:31:38 +01:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function withoutExternalId(): self; | 
					
						
							| 
									
										
										
										
											2022-03-21 06:31:38 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-12-29 15:42:26 +01:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2022-12-29 19:41:57 +01:00
										 |  |  |      * Transactions without an external URL | 
					
						
							| 
									
										
										
										
											2022-12-29 15:42:26 +01:00
										 |  |  |      * | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function withoutExternalUrl(): self; | 
					
						
							| 
									
										
										
										
											2022-12-29 15:42:26 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-06-23 20:18:59 +02:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function withoutNotes(): self; | 
					
						
							| 
									
										
										
										
											2020-06-23 20:18:59 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function withoutTags(): self; | 
					
						
							| 
									
										
										
										
											2020-06-23 20:18:59 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-03-21 06:31:38 +01:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $year | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-03-21 06:31:38 +01:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function yearAfter(string $year): self; | 
					
						
							| 
									
										
										
										
											2022-03-21 06:31:38 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $year | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-03-21 06:31:38 +01:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function yearBefore(string $year): self; | 
					
						
							| 
									
										
										
										
											2021-12-17 17:27:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-03-21 06:31:38 +01:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $year | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-03-21 06:31:38 +01:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function yearIs(string $year): self; | 
					
						
							| 
									
										
										
										
											2021-12-17 17:27:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  |     /** | 
					
						
							| 
									
										
										
										
											2023-06-21 12:34:58 +02:00
										 |  |  |      * @param string $year | 
					
						
							| 
									
										
										
										
											2023-07-15 16:02:42 +02:00
										 |  |  |      * | 
					
						
							| 
									
										
										
										
											2022-09-25 15:31:07 +02:00
										 |  |  |      * @return GroupCollectorInterface | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2023-11-04 14:18:49 +01:00
										 |  |  |     public function yearIsNot(string $year): self; | 
					
						
							| 
									
										
										
										
											2023-07-18 06:30:45 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-08-17 12:09:03 +02:00
										 |  |  | } |