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;
|
|
}
|