. */ declare(strict_types=1); namespace FireflyIII\Generator\Report; use Carbon\Carbon; use Illuminate\Support\Collection; /** * Interface ReportGeneratorInterface. */ interface ReportGeneratorInterface { /** * Generate the report. */ public function generate(): string; /** * Set the involved accounts. */ public function setAccounts(Collection $accounts): self; /** * Set the involved budgets. */ public function setBudgets(Collection $budgets): self; /** * Set the involved categories. */ public function setCategories(Collection $categories): self; /** * Set the end date. */ public function setEndDate(Carbon $date): self; /** * Set the expense accounts. */ public function setExpense(Collection $expense): self; /** * Set the start date. */ public function setStartDate(Carbon $date): self; /** * Set the tags. */ public function setTags(Collection $tags): self; }