. */ declare(strict_types=1); namespace FireflyIII\Repositories\UserGroups\Bill; use Carbon\Carbon; use FireflyIII\Models\Bill; use Illuminate\Support\Collection; /** * Interface BillRepositoryInterface * * @deprecated */ interface BillRepositoryInterface { /** * TODO duplicate of other repos * Add correct order to bills. */ public function correctOrder(): void; public function getActiveBills(): Collection; public function getBills(): Collection; /** * Between start and end, tells you on which date(s) the bill is expected to hit. * * TODO duplicate of method in other billrepositoryinterface */ public function getPayDatesInRange(Bill $bill, Carbon $start, Carbon $end): Collection; /** * Given a bill and a date, this method will tell you at which moment this bill expects its next * transaction. Whether it is there already, is not relevant. * * TODO duplicate of method in other bill repos */ public function nextDateMatch(Bill $bill, Carbon $date): Carbon; /** * Collect multi-currency of sum of bills already paid. */ public function sumPaidInRange(Carbon $start, Carbon $end): array; /** * Collect multi-currency of sum of bills yet to pay. */ public function sumUnpaidInRange(Carbon $start, Carbon $end): array; }