adrema/app/Pdf/PdfRepository.php

55 lines
1.2 KiB
PHP

<?php
namespace App\Pdf;
use App\Member\Member;
use App\Payment\Payment;
use Carbon\Carbon;
use Generator;
use Illuminate\Support\Collection;
interface PdfRepository
{
public function getSubject(): string;
public function setFilename(string $filename): self;
public function getFilename(): string;
public function getView(): string;
public function getTemplate(): string;
public function getPositions(Collection $page): array;
public function getFamilyName(Collection $page): string;
public function getAddress(Collection $page): string;
public function getZip(Collection $page): string;
public function getLocation(Collection $page): string;
public function createable(Member $member): bool;
public function getPayments(Member $member): Collection;
public function linkLabel(): string;
public function getUntil(): Carbon;
public function getUsage(Collection $page): string;
public function allLabel(): string;
public function getEmail(Collection $page): string;
public function getDescription(): array;
public function afterSingle(Payment $payment): void;
public function getMailSubject(): string;
public function allPayments(): Generator;
}