import type { IArcGISContext } from "../types/IArcGISContext"; import { IEditorConfig } from "../core/schemas/types"; import { IWithEditorBehavior } from "../core/behaviors/IWithEditorBehavior"; import { UserEditorType } from "./_internal/userEditorTypes"; import { IEntityEditorContext } from "../core/types/HubEntityEditor"; import { IHubUser } from "../core/types/IHubUser"; export declare class HubUser implements IWithEditorBehavior { protected context: IArcGISContext; protected entity: IHubUser; protected isDestroyed: boolean; private constructor(); /** * Create an instance from a IHubUser object * @param json - JSON object to create a HubProject from * @param context - ArcGIS context * @returns HubUser */ static fromJson(json: Partial, context: IArcGISContext): HubUser; /** * Given a partial user object, apply defaults to it to ensure that a baseline of properties are set * @param partialUser * @returns IHubUser */ private static applyDefaults; /** * Method that returns the entity as a JSON object * We have this on the EntityItem class, but we don't implement that here * @returns IHubUser */ toJson(): IHubUser; /** * Save the HubUser to the backing store. * * Note that Hub does not currently support the creation of users, * so this function should only be used for updating users. * * @returns */ save(): Promise; /** * Delete the HubUser from the store * set a flag to indicate that it is destroyed * * Note that Hub does not currently support the deletion of users, * so this function should not be used as of now. * @returns */ delete(): Promise; /** * Get the editor config for the HubUser entity. * @param i18nScope translation scope to be interpolated into the uiSchema * @param type editor type - corresponds to the returned uiSchema */ getEditorConfig(i18nScope: string, type: UserEditorType): Promise; /** * Transforms entity values into editor values * @param editorContext * @param include */ toEditor(_editorContext?: IEntityEditorContext, include?: string[]): Promise; /** * Transforms editor values into entity values * @param editor */ fromEditor(editor: IHubUser): Promise; }