import { type UmbClipboardEntryDetailModel, type UmbClipboardEntryValuesType } from '../../clipboard-entry/index.js'; import type { ManifestClipboardPastePropertyValueTranslator } from '../value-translator/types.js'; import { UmbContextBase } from '../../../../libs/class-api/index.js'; import type { UmbControllerHost } from '../../../../libs/controller-api/index.js'; import type { UmbEntityUnique } from '../../../core/entity/index.js'; /** * Clipboard context for managing clipboard entries for property values * @export * @class UmbClipboardPropertyContext * @augments {UmbContextBase} */ export declare class UmbClipboardPropertyContext extends UmbContextBase { #private; constructor(host: UmbControllerHost); /** * Read a clipboard entry for a property. The entry will be translated to the property editor value * @param {string} unique - The unique id of the clipboard entry * @param {string} propertyEditorUiAlias - The alias of the property editor to match * @returns { Promise } - Returns the resolved property value */ read(unique: string, propertyEditorUiAlias: string): Promise; /** * Read multiple clipboard entries for a property. The entries will be translated to the property editor values * @param {Array} uniques - The unique ids of the clipboard entries * @param {string} propertyEditorUiAlias - The alias of the property editor to match * @returns { Promise> } - Returns an array of resolved property values */ readMultiple(uniques: Array, propertyEditorUiAlias: string): Promise>; /** * Write a clipboard entry for a property. The property value will be translated to the clipboard entry values * @param args - Arguments for writing a clipboard entry * @param {string} args.name - The name of the clipboard entry * @param {string} args.icon - The icon of the clipboard entry * @param {any} args.propertyValue - The property value to write * @param {string} args.propertyEditorUiAlias - The alias of the property editor to match * @returns { Promise } */ write(args: { name: string; icon?: string; propertyValue: any; propertyEditorUiAlias: string; }): Promise; /** * Pick a clipboard entry for a property. The entry will be translated to the property editor value * @param args - Arguments for picking a clipboard entry * @param {boolean} args.multiple - Allow multiple clipboard entries to be picked * @param {string} args.propertyEditorUiAlias - The alias of the property editor to match * @param {() => Promise} args.filter - A filter function to filter clipboard entries * @returns { Promise<{ selection: Array; propertyValues: Array }> } */ pick(args: { multiple: boolean; propertyEditorUiAlias: string; filter?: (value: any, config: any) => Promise; }): Promise<{ selection: Array; propertyValues: Array; }>; /** * Get all clipboard paste translators for a property editor ui * @param {string} propertyEditorUiAlias - The alias of the property editor to match * @returns {Array} - Returns an array of clipboard paste translators */ getPasteTranslatorManifests(propertyEditorUiAlias: string): ManifestClipboardPastePropertyValueTranslator[]; /** * Check if the clipboard entry values has supported paste translator * @param {Array} manifests - The paste translator manifests * @param {UmbClipboardEntryValuesType} clipboardEntryValues - The clipboard entry values * @returns {boolean} - Returns true if the clipboard entry values has supported paste translator */ hasSupportedPasteTranslator(manifests: Array, clipboardEntryValues: UmbClipboardEntryValuesType): boolean; } export { UmbClipboardPropertyContext as api };