31 lines
		
	
	
		
			707 B
		
	
	
	
		
			PHP
		
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			707 B
		
	
	
	
		
			PHP
		
	
	
	
| <?php
 | |
| 
 | |
| namespace App\Contribution\Contracts;
 | |
| 
 | |
| use App\Contribution\Data\MemberData;
 | |
| use Carbon\Carbon;
 | |
| use App\Contribution\Documents\ContributionDocument;
 | |
| use App\Country;
 | |
| use Illuminate\Support\Collection;
 | |
| 
 | |
| interface HasContributionData {
 | |
| 
 | |
|     public function dateFrom(): Carbon;
 | |
|     public function dateUntil(): Carbon;
 | |
|     public function zipLocation(): string;
 | |
|     public function eventName(): string;
 | |
|     /**
 | |
|      * @return class-string<ContributionDocument>
 | |
|      */
 | |
|     public function type(): string;
 | |
| 
 | |
|     /**
 | |
|      * @return Collection<int, MemberData>
 | |
|      */
 | |
|     public function members(): Collection;
 | |
| 
 | |
|     public function country(): ?Country;
 | |
| 
 | |
|     public function validateContribution(): void;
 | |
| }
 |