import type { UmbPropertyEditorConfigCollection } from '../config/index.js';
import { UmbControllerBase } from '../../../../libs/class-api/index.js';
import type { UmbControllerHost } from '../../../../libs/controller-api/index.js';
import type { UmbInteractionMemoryModel } from '../../interaction-memory/index.js';
export interface UmbPropertyEditorUiInteractionMemoryManagerArgs {
    memoryUniquePrefix: string;
}
export declare class UmbPropertyEditorUiInteractionMemoryManager extends UmbControllerBase {
    #private;
    memoriesForPropertyEditor: import("rxjs").Observable<UmbInteractionMemoryModel[]>;
    constructor(host: UmbControllerHost, args: UmbPropertyEditorUiInteractionMemoryManagerArgs);
    /**
     * Sets the property editor config, used to create a unique hash for the interaction memory.
     * @param {(UmbPropertyEditorConfigCollection | undefined)} config
     * @memberof UmbPropertyEditorUiInteractionMemoryManager
     */
    setPropertyEditorConfig(config: UmbPropertyEditorConfigCollection | undefined): void;
    /**
     * Creates or updates an interaction memory for this property editor based on the provided memories.
     * @param {Array<UmbInteractionMemoryModel>} memories - The memories to include for this property editor.
     * @returns {Promise<void>}
     * @memberof UmbPropertyEditorUiInteractionMemoryManager
     */
    saveMemoriesForPropertyEditor(memories: Array<UmbInteractionMemoryModel>): Promise<void>;
    /**
     * Deletes the interaction memory for this property editor.
     * @memberof UmbPropertyEditorUiInteractionMemoryManager
     */
    deleteMemoriesForPropertyEditor(): Promise<void>;
}
