import { UmbWorkspaceRouteManager } from '../controllers/workspace-route-manager.controller.js'; import type { UmbSubmittableWorkspaceContext } from '../contexts/tokens/submittable-workspace-context.interface.js'; import type { UmbControllerHost } from '../../../../libs/controller-api/index.js'; import { UmbContextBase } from '../../../../libs/class-api/index.js'; import type { UmbModalContext } from '../../modal/index.js'; import type { Observable } from '../../../../external/rxjs/index.js'; import type { UmbValidationController } from '../../validation/index.js'; import { UmbViewContext } from '../../view/index.js'; export declare abstract class UmbSubmittableWorkspaceContextBase extends UmbContextBase implements UmbSubmittableWorkspaceContext { #private; readonly workspaceAlias: string; readonly modalContext?: UmbModalContext<{ preset: object; }>; readonly view: UmbViewContext; /** * Appends a validation context to the workspace. * @param context */ addValidationContext(context: UmbValidationController): void; abstract readonly unique: Observable; isNew: Observable; readonly routes: UmbWorkspaceRouteManager; constructor(host: UmbControllerHost, workspaceAlias: string); protected resetState(): void; getIsNew(): boolean | undefined; protected setIsNew(isNew: boolean): void; /** * If a Workspace has multiple validation contexts, then this method can be overwritten to return the correct one. * @returns Promise that resolves to void when the validation is complete. */ validate(): Promise>; requestSubmit(): Promise; protected _validateAndLog: () => Promise; validateAndSubmit(onValid: () => Promise, onInvalid: (reason?: any) => Promise): Promise; protected _validateByAndSubmit(validationMethod: () => Promise, onValid: () => Promise, onInvalid: (reason?: any) => Promise): Promise; protected _closeModal(): void; abstract getUnique(): string | null | undefined; abstract getEntityType(): string; abstract getData(): WorkspaceDataModelType | undefined; protected abstract submit(): Promise; protected invalidSubmit(reason?: any): Promise; destroy(): void; } export declare abstract class UmbEditableWorkspaceContextBase extends UmbSubmittableWorkspaceContextBase { }