import type { IArcGISContext } from "../types/IArcGISContext"; import { HubItemEntity } from "../core/HubItemEntity"; import { IEditorConfig } from "../core/schemas/types"; import { IWithEditorBehavior } from "../core/behaviors/IWithEditorBehavior"; import { IHubContentEditor, IHubEditableContent } from "../core/types/IHubEditableContent"; import { IWithStoreBehavior } from "../core/behaviors/IWithStoreBehavior"; import { IEntityEditorContext } from "../core/types/HubEntityEditor"; import { ContentEditorType } from "./_internal/contentEditorTypes"; export declare class HubContent extends HubItemEntity implements IWithStoreBehavior, IWithEditorBehavior { private constructor(); /** * Create an instance from an IHubEditableContent object * @param json - JSON object to create a HubContent from * @param context - ArcGIS context * @returns */ static fromJson(json: Partial, context?: IArcGISContext): HubContent; /** * Save the HubContent to the backing store. Currently Projects are stored as Items in Portal * @returns */ save(): Promise; /** * Apply a new state to the instance * @param changes */ update(changes: Partial): void; /** * Delete the HubContent from the store * set a flag to indicate that it is destroyed * @returns */ delete(): Promise; getEditorConfig(i18nScope: string, type: ContentEditorType): Promise; /** * Return the project as an editor object * @param editorContext * @returns */ toEditor(_editorContext?: IEntityEditorContext, include?: string[]): Promise; /** * Load the project from the editor object * @param editor * @returns */ fromEditor(editor: IHubContentEditor): Promise; private _checkDestroyed; }