. */ declare(strict_types=1); namespace FireflyIII\Repositories\ObjectGroup; use FireflyIII\Models\ObjectGroup; use Illuminate\Support\Collection; /** * Interface ObjectGroupRepositoryInterface */ interface ObjectGroupRepositoryInterface { /** * @return Collection */ public function get(): Collection; /** * @param string $query * @param int $limit * * @return Collection */ public function search(string $query, int $limit): Collection; /** * Delete empty ones. */ public function deleteEmpty(): void; /** * Delete all. */ public function deleteAll(): void; /** * @param ObjectGroup $objectGroup * * @return Collection */ public function getPiggyBanks(ObjectGroup $objectGroup): Collection; /** * Sort */ public function sort(): void; /** * @param ObjectGroup $objectGroup * @param int $index * * @return ObjectGroup */ public function setOrder(ObjectGroup $objectGroup, int $index): ObjectGroup; /** * @param ObjectGroup $objectGroup * @param array $data * * @return ObjectGroup */ public function update(ObjectGroup $objectGroup, array $data): ObjectGroup; /** * @param ObjectGroup $objectGroup */ public function destroy(ObjectGroup $objectGroup): void; }