. */ declare(strict_types=1); namespace FireflyIII\Helpers\Report; use Carbon\Carbon; use FireflyIII\User; use Illuminate\Support\Collection; /** * Interface NetWorthInterface * * @package FireflyIII\Helpers\Report */ interface NetWorthInterface { /** * Returns the user's net worth in an array with the following layout: * * - * - currency: TransactionCurrency object * - date: the current date * - amount: the user's net worth in that currency. * * This repeats for each currency the user has transactions in. * Result of this method is cached. * * @param Collection $accounts * @param Carbon $date * * @return array */ public function getNetWorthByCurrency(Collection $accounts, Carbon $date): array; /** * @param User $user */ public function setUser(User $user): void; }