import type { UmbApi } from '../../../../../libs/extension-api/index.js';
import type { UmbPropertyValueDataPotentiallyWithEditorAlias } from '../../../property/index.js';
export type * from './property-validation-path-translator.extension.js';
export interface UmbPropertyValidationPathTranslator<PropertyValueType> extends UmbApi {
    /**
     * Clones a property value.
     * @param value The value to clone.
     * @returns A promise that resolves with the clonal(cloned value).
     */
    translate: UmbPropertyValidationPathTranslatorMethod<PropertyValueType>;
}
/**
 * Clones a property value.
 * @param value The value to clone.
 * @returns A promise that resolves with the translated path.
 */
export type UmbPropertyValidationPathTranslatorMethod<PropertyValueType> = (paths: Array<string>, propertyData: UmbPropertyValueDataPotentiallyWithEditorAlias<PropertyValueType>) => PromiseLike<Array<string>>;
export interface UmbValidationPathTranslator<T> extends UmbApi {
    /**
     * Clones a property value.
     * @param value The value to clone.
     * @returns A promise that resolves with the clonal(cloned value).
     */
    translate: UmbValidationPathTranslatorMethod<T>;
}
/**
 * Clones a property value.
 * @param value The value to clone.
 * @returns A promise that resolves with the translated path.
 */
export type UmbValidationPathTranslatorMethod<T> = (paths: Array<string>, propertyData: T) => PromiseLike<Array<string>>;
