. */ declare(strict_types=1); namespace FireflyIII\Repositories\ObjectGroup; use FireflyIII\Models\ObjectGroup; use FireflyIII\User; use Illuminate\Contracts\Auth\Authenticatable; use Illuminate\Support\Collection; /** * Interface ObjectGroupRepositoryInterface */ interface ObjectGroupRepositoryInterface { /** * Delete all. */ public function deleteAll(): void; /** * Delete empty ones. */ public function deleteEmpty(): void; public function destroy(ObjectGroup $objectGroup): void; public function get(): Collection; public function getBills(ObjectGroup $objectGroup): Collection; public function getPiggyBanks(ObjectGroup $objectGroup): Collection; /** * Delete all. */ public function resetOrder(): void; public function search(string $query, int $limit): Collection; public function setOrder(ObjectGroup $objectGroup, int $newOrder): ObjectGroup; public function setUser(null|Authenticatable|User $user): void; public function update(ObjectGroup $objectGroup, array $data): ObjectGroup; }