import type { UmbPropertyValueData } from '../types/property-value-data.type.js';
import type { UmbPropertyDatasetContext } from './property-dataset-context.interface.js';
import type { UmbNameablePropertyDatasetContext } from './nameable-property-dataset-context.interface.js';
import type { UmbControllerHost } from '../../../../libs/controller-api/index.js';
import { UmbContextBase } from '../../../../libs/class-api/index.js';
import { UmbVariantId } from '../../variant/index.js';
/**
 * A base property dataset context implementation.
 * @class UmbPropertyDatasetContextBase
 * @augments {UmbContextBase}
 */
export declare class UmbPropertyDatasetContextBase extends UmbContextBase implements UmbPropertyDatasetContext, UmbNameablePropertyDatasetContext {
    #private;
    name: import("rxjs").Observable<string | undefined>;
    readonly properties: import("rxjs").Observable<UmbPropertyValueData<unknown>[]>;
    /**
     * @deprecated - use `properties` instead.
     */
    readonly values: import("rxjs").Observable<UmbPropertyValueData<unknown>[]>;
    private _entityType;
    private _unique;
    readOnly: import("rxjs").Observable<boolean>;
    getEntityType(): string;
    getUnique(): string;
    getName(): string | undefined;
    setName(name: string | undefined): void;
    getVariantId(): UmbVariantId;
    constructor(host: UmbControllerHost);
    /**
     * @function propertyValueByAlias
     * @param {string} propertyAlias - the alias to observe
     * @returns {Promise<Observable<ReturnType | undefined> | undefined>} - an Observable for the value of this property.
     */
    propertyValueByAlias<ReturnType = unknown>(propertyAlias: string): Promise<import("rxjs").Observable<ReturnType | undefined>>;
    /**
     * @function setPropertyValue
     * @param {string} alias - The alias to set this value for
     * @param {PromiseLike<unknown>} value - value can be a promise resolving into the actual value or the raw value it self.
     * @description Set the value of this property.
     */
    setPropertyValue(alias: string, value: unknown): void;
    /**
     * @deprecated Use `getProperties`
     * @returns {Array<UmbPropertyValueData>} - Array of properties as objects with alias and value properties.
     */
    getValues(): UmbPropertyValueData<unknown>[];
    /**
     * @param {Array<UmbPropertyValueData>} properties - Properties array with alias and value properties.
     * @deprecated Use `setProperties`
     */
    setValues(properties: Array<UmbPropertyValueData>): void;
    /**
     * @returns {Array<UmbPropertyValueData>} - Array of properties as objects with alias and value properties.
     */
    getProperties(): Promise<UmbPropertyValueData<unknown>[]>;
    /**
     * @param {Array<UmbPropertyValueData>} properties - Properties array with alias and value properties.
     */
    setProperties(properties: Array<UmbPropertyValueData>): void;
    /**
     * Gets the read-only state of the current variant culture.
     * @returns {*}  {boolean}
     */
    getReadOnly(): boolean;
}
