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