import { type ObservableInput } from 'rxjs'; /** * Imports the `BookmarksApiClient` and `ApiBookmarkEntityV1` types from the `@equinor/fusion-framework-module-services/bookmarks` package. * These types are used to interact with the Fusion Bookmarks API and represent the API response entities. */ import { type BookmarksApiClient } from '@equinor/fusion-framework-module-services/bookmarks'; import type { IBookmarkClient, BookmarksFilter, BookmarkNew, BookmarkUpdate } from './BookmarkClient.interface'; import type { Bookmark, BookmarkData, BookmarkWithoutData } from './types'; /** * Represents a client for interacting with the Fusion Bookmarks API. * This class provides methods for retrieving, creating, updating, and deleting bookmarks, as well as managing favorites. * * This implementation consumes the `@equinor/fusion-framework-module-services/bookmarks` package. * This is the default implementation of the bookmarks API client. * * This class is intended to be used by the Fusion framework with the Fusion Core Services (Backend) * * Fetching single and all bookmarks will use Query from '@equinor/fusion-query' to cache the results. * * @remarks if you wish to implement your own bookmarks API client, you can do so by implementing the {@link IBookmarkClient} interface. */ export declare class BookmarkClient implements IBookmarkClient { #private; /** * Constructs a new `BookmarkClient` instance with the provided `BookmarksApiClient`. * * @param api - The `BookmarksApiClient` instance to use for making API requests. */ constructor(api: BookmarksApiClient<'json$'>, options?: { expire?: number; }); /** @inheritdoc */ getAllBookmarks(filter?: BookmarksFilter): ObservableInput; /** @inheritdoc */ getBookmarkById(bookmarkId: string): ObservableInput; /** @inheritdoc */ getBookmarkData(bookmarkId: string): ObservableInput; /** @inheritdoc */ setBookmarkData(bookmarkId: string, data: T): ObservableInput; /** @inheritdoc */ createBookmark(newBookmark: BookmarkNew): ObservableInput>; /** @inheritdoc */ updateBookmark(bookmarkId: string, updates: BookmarkUpdate): ObservableInput>; /** @inheritdoc */ deleteBookmark(bookmarkId: string): ObservableInput; /** @inheritdoc */ addBookmarkToFavorites(bookmarkId: string): ObservableInput; /** @inheritdoc */ removeBookmarkFromFavorites(bookmarkId: string): ObservableInput; /** @inheritdoc */ isBookmarkFavorite(bookmarkId: string): ObservableInput; }