. */ declare(strict_types=1); namespace FireflyIII\Helpers\Report; use Carbon\Carbon; use FireflyIII\Models\UserGroup; use FireflyIII\User; use Illuminate\Contracts\Auth\Authenticatable; use Illuminate\Support\Collection; /** * Interface NetWorthInterface */ interface NetWorthInterface { /** * Collect net worth based on the given set of accounts. * * Returns X arrays with the net worth in each given currency, and the net worth in * of that amount in the native currency. * * Includes extra array with the total(!) net worth in the native currency. */ public function byAccounts(Collection $accounts, Carbon $date): array; public function setUser(null|Authenticatable|User $user): void; public function setUserGroup(UserGroup $userGroup): void; /** * TODO move to repository * * Same as above but cleaner function with less dependencies. * * @deprecated */ public function sumNetWorthByCurrency(Carbon $date): array; }