> */ public function listByUser(int $userId): array; public function nextBookmarkSortOrder(int $userId, ?int $groupId): int; public function countByUser(int $userId): int; /** @return array|false */ public function findById(int $id, int $userId): array|false; /** @return array|false */ public function findByUserAndUrl(int $userId, string $url): array|false; public function create(array $data): int|false; public function update(int $id, int $userId, array $data): bool; public function delete(int $id, int $userId): bool; /** @param list $idOrderPairs */ public function updateSortOrders(int $userId, array $idOrderPairs): bool; public function clearGroupId(int $groupId, int $userId): bool; }