. */ declare(strict_types=1); namespace FireflyIII\Generator\Report; use Carbon\Carbon; use Illuminate\Support\Collection; /** * Interface ReportGeneratorInterface. */ interface ReportGeneratorInterface { /** * @return string */ public function generate(): string; /** * @param Collection $accounts * * @return ReportGeneratorInterface */ public function setAccounts(Collection $accounts): self; /** * @param Collection $budgets * * @return ReportGeneratorInterface */ public function setBudgets(Collection $budgets): self; /** * @param Collection $categories * * @return ReportGeneratorInterface */ public function setCategories(Collection $categories): self; /** * @param Carbon $date * * @return ReportGeneratorInterface */ public function setEndDate(Carbon $date): self; /** * @param Carbon $date * * @return ReportGeneratorInterface */ public function setStartDate(Carbon $date): self; /** * @param Collection $tags * * @return ReportGeneratorInterface */ public function setTags(Collection $tags): self; }