import type { UmbPropertyDatasetContext, UmbPropertyValueData } from '../../../core/property/index.js';
import type { UmbInvariantDatasetWorkspaceContext, UmbRoutableWorkspaceContext, ManifestWorkspace, UmbNamableWorkspaceContext } from '../../../core/workspace/index.js';
import { UmbSubmittableWorkspaceContextBase } from '../../../core/workspace/index.js';
import type { UmbControllerHost } from '../../../../libs/controller-api/index.js';
import type { UmbPropertyTypeScaffoldModel } from '../../content-type/index.js';
import { UmbValidationContext } from '../../../core/validation/index.js';
type PropertyTypeDataModel = UmbPropertyTypeScaffoldModel;
export declare class UmbPropertyTypeWorkspaceContext extends UmbSubmittableWorkspaceContextBase<PropertyTypeDataModel> implements UmbInvariantDatasetWorkspaceContext, UmbRoutableWorkspaceContext, UmbNamableWorkspaceContext {
    #private;
    readonly IS_PROPERTY_TYPE_WORKSPACE_CONTEXT = true;
    validationContext: UmbValidationContext;
    readonly data: import("rxjs").Observable<UmbPropertyTypeScaffoldModel | undefined>;
    readonly name: import("rxjs").Observable<string | undefined>;
    readonly unique: import("rxjs").Observable<string | undefined>;
    readonly values: import("rxjs").Observable<UmbPropertyValueData<unknown>[] | undefined>;
    getValues(): Promise<Array<UmbPropertyValueData> | undefined>;
    constructor(host: UmbControllerHost, args: {
        manifest: ManifestWorkspace;
    });
    protected resetState(): void;
    createPropertyDatasetContext(host: UmbControllerHost): UmbPropertyDatasetContext;
    load(unique: string): Promise<void>;
    create(containerId?: string | null): Promise<void>;
    getData(): UmbPropertyTypeScaffoldModel | undefined;
    updateData(partialData: Partial<PropertyTypeDataModel>): void;
    getUnique(): string;
    getEntityType(): string;
    getName(): string | undefined;
    setName(name: string | undefined): void;
    /**
     * @function propertyValueByAlias
     * @param {string} propertyAlias
     * @returns {Promise<Observable<ReturnType | undefined> | undefined>}
     * @description Get an Observable for the value of this property.
     */
    propertyValueByAlias<ReturnType = unknown>(propertyAlias: keyof PropertyTypeDataModel): Promise<import("rxjs").Observable<ReturnType>>;
    getPropertyValue<ReturnType = unknown>(propertyAlias: keyof PropertyTypeDataModel): ReturnType;
    /**
     * @function setPropertyValue
     * @param {string} propertyAlias
     * @param alias
     * @param {PromiseLike<unknown>} value - value can be a promise resolving into the actual value or the raw value it self.
     * @returns {Promise<void>}
     * @description Set the value of this property.
     */
    setPropertyValue(alias: string, value: unknown): Promise<void>;
    submit(): Promise<void>;
    destroy(): void;
}
export { UmbPropertyTypeWorkspaceContext as api };
