. */ declare(strict_types=1); namespace FireflyIII\Helpers\Chart; use Carbon\Carbon; use FireflyIII\User; use Illuminate\Support\Collection; /** * Interface MetaPieChartInterface. */ interface MetaPieChartInterface { /** * Generate a chart. * * @param string $direction * @param string $group * * @return array */ public function generate(string $direction, string $group): array; /** * Accounts setter. * * @param Collection $accounts * * @return MetaPieChartInterface */ public function setAccounts(Collection $accounts): MetaPieChartInterface; /** * Budgets setter. * * @param Collection $budgets * * @return MetaPieChartInterface */ public function setBudgets(Collection $budgets): MetaPieChartInterface; /** * Categories setter. * * @param Collection $categories * * @return MetaPieChartInterface */ public function setCategories(Collection $categories): MetaPieChartInterface; /** * Set if other objects should be collected. * * @param bool $collectOtherObjects * * @return MetaPieChartInterface */ public function setCollectOtherObjects(bool $collectOtherObjects): MetaPieChartInterface; /** * Set the end date. * * @param Carbon $end * * @return MetaPieChartInterface */ public function setEnd(Carbon $end): MetaPieChartInterface; /** * Set the start date. * * @param Carbon $start * * @return MetaPieChartInterface */ public function setStart(Carbon $start): MetaPieChartInterface; /** * Set the tags. * * @param Collection $tags * * @return MetaPieChartInterface */ public function setTags(Collection $tags): MetaPieChartInterface; /** * Set the user. * * @param User $user * * @return MetaPieChartInterface */ public function setUser(User $user): MetaPieChartInterface; }