. */ declare(strict_types=1); namespace FireflyIII\Helpers\Report; use FireflyIII\Models\Account; use FireflyIII\Models\Budget; use FireflyIII\Models\Category; /** * Interface PopupReportInterface. */ interface PopupReportInterface { /** * Get balances for budget. */ public function balanceForBudget(Budget $budget, Account $account, array $attributes): array; /** * Get balances for transactions without a budget. */ public function balanceForNoBudget(Account $account, array $attributes): array; /** * Group by budget. */ public function byBudget(Budget $budget, array $attributes): array; /** * Group by category. */ public function byCategory(?Category $category, array $attributes): array; /** * Do something with expense. Sorry, I am not very inspirational here. */ public function byExpenses(Account $account, array $attributes): array; /** * Do something with income. Sorry, I am not very inspirational here. */ public function byIncome(Account $account, array $attributes): array; }