/**
 * @typedef {import("%types/BookmarksApi").Bookmark} Bookmark
 * @typedef {import("%types/React").UseState<Array<Bookmark>>} UseStateBookmarks
 * @typedef {import("%types/Types").Pagination} Pagination
 * @typedef {import("%types/React").UseState<Pagination>} UseStatePagination
 * @typedef {import("%types/BookmarksApi").BookmarksCollection} BookmarksCollection
 */

/**
 * A hook to manage a fetched paginated API collection of bookmarks
 * @param {Promise<BookmarksCollection>} promise initial fetched results
 * @returns {{
 *   isLoading: boolean,
 *   bookmarksData: Array<Bookmark>,
 *   pagination: Pagination,
 *   changePromise: (newPromise: Promise<BookmarksCollection>) => void,
 * }} data provided by the hook
 */