import * as React from "react";
import { IGXE } from "@intelligentgraphics/igd.core";
import { IPropertyEditorProperty } from "./Component";
export declare const PropertyEditorContext: React.Context<IPropertyEditorContext>;
export interface IPropertyEditorContext {
    properties: Record<string, IPropertyEditorProperty>;
    /**
     * Changes the value of a property for all articles that are associated with the property
     *
     * @param {string} name
     * @param {IGXE.TPropertyValue} newValue
     * @returns {Promise<void>}
     */
    setPropertyValue(name: string, newValue: IGXE.TPropertyValue): Promise<void>;
    /**
     * Applies the current value of the specified property to all possible transfer targets
     *
     * @param {string} name
     * @returns {Promise<void>}
     */
    applyToAll(name: string): Promise<void>;
    /**
     * Retrieves the list of comIds, which are associated with the property
     *
     * @param {string} name
     * @returns {string[]}
     */
    getComIdsByProperty(name: string): string[];
}
export declare const usePropertyEditorContext: () => IPropertyEditorContext;
