/** @packageDocumentation * @module Core */ import { IDisposable } from "@bentley/bentleyjs-core"; import { IConnectivityInformationProvider } from "../ConnectivityInformationProvider"; import { FavoritePropertiesOrderInfo, PropertyFullName } from "./FavoritePropertiesManager"; /** * Stores user settings for favorite properties. * @public */ export interface IFavoritePropertiesStorage { /** Load Favorite properties from user-specific settings. * @param projectId Project Id, if the settings is specific to a project, otherwise undefined. * @param imodelId iModel Id, if the setting is specific to an iModel, otherwise undefined. The projectId must be specified if iModelId is specified. */ loadProperties(projectId?: string, imodelId?: string): Promise | undefined>; /** Saves Favorite properties to user-specific settings. * @param properties Favorite properties to save. * @param projectId Project Id, if the settings is specific to a project, otherwise undefined. * @param iModelId iModel Id, if the setting is specific to an iModel, otherwise undefined. The projectId must be specified if iModelId is specified. */ saveProperties(properties: Set, projectId?: string, imodelId?: string): Promise; /** Load array of FavoritePropertiesOrderInfo from user-specific settings. * Setting is specific to an iModel. * @param projectId Project Id. * @param imodelId iModel Id. */ loadPropertiesOrder(projectId: string | undefined, imodelId: string): Promise; /** Saves FavoritePropertiesOrderInfo array to user-specific settings. * Setting is specific to an iModel. * @param orderInfo Array of FavoritePropertiesOrderInfo to save. * @param projectId Project Id. * @param imodelId iModel Id. */ savePropertiesOrder(orderInfos: FavoritePropertiesOrderInfo[], projectId: string | undefined, imodelId: string): Promise; } /** * @internal */ export declare class IModelAppFavoritePropertiesStorage implements IFavoritePropertiesStorage { private get isSignedIn(); loadProperties(projectId?: string, imodelId?: string): Promise | undefined>; saveProperties(properties: Set, projectId?: string, imodelId?: string): Promise; loadPropertiesOrder(projectId: string | undefined, imodelId: string): Promise; savePropertiesOrder(orderInfos: FavoritePropertiesOrderInfo[], projectId: string | undefined, imodelId: string): Promise; } /** @internal */ export interface OfflineCachingFavoritePropertiesStorageProps { connectivityInfo: IConnectivityInformationProvider; impl: IFavoritePropertiesStorage; } /** @internal */ export declare class OfflineCachingFavoritePropertiesStorage implements IFavoritePropertiesStorage, IDisposable { private _connectivityInfo; private _impl; private _unsubscribeFromConnectivityStatusChangedEvent; private _propertiesOfflineCache; private _propertiesOrderOfflineCache; constructor(props: OfflineCachingFavoritePropertiesStorageProps); dispose(): void; private onConnectivityStatusChanged; loadProperties(projectId?: string, imodelId?: string): Promise | undefined>; saveProperties(properties: Set, projectId?: string, imodelId?: string): Promise; loadPropertiesOrder(projectId: string | undefined, imodelId: string): Promise; savePropertiesOrder(orderInfos: FavoritePropertiesOrderInfo[], projectId: string | undefined, imodelId: string): Promise; } //# sourceMappingURL=FavoritePropertiesStorage.d.ts.map