import { Article, IGXE } from "@intelligentgraphics/igd.productdata";
import { ResultPropertyGroup, IPropertyEditorProperty, PropertyEditorSubPropertyBehaviour } from "./Component";
import { PropertyGroup } from "./Groupers";
export declare type GenericInstance = Article;
export declare type GenericInstanceList = Article[];
export declare const createPropertyIdentifier: (groupId: string, propertyKey: string) => string;
export declare const parsePropertyIdentifier: (propertyIdentifier: string) => {
    groupId: string;
    propertyKey: string;
};
export declare type CreatePropertiesParams = {
    propertyList: PropertyGroup[];
    transferTargets: GenericInstanceList;
    units?: Record<string, IGXE.EPropertyValueUnit>;
    subPropertyBehaviour: PropertyEditorSubPropertyBehaviour;
};
/**
 * Creates property groups, a property map and a reference mapping of properties -> affected comIds
 *
 * @param {CreatePropertiesParams} {
 * 	propertyList,
 * 	transferTargets,
 * 	units
 * }
 * @returns
 */
export declare const createComponentState: ({ propertyList, transferTargets, units, subPropertyBehaviour, }: CreatePropertiesParams) => {
    groups: ResultPropertyGroup[];
    groupReferences: Record<string, string | string[]>;
    properties: Record<string, IPropertyEditorProperty>;
};
