import { KVL } from './KVL'; import { ILDOptions } from './ildoptions'; import { ObjectPropertyRef } from './ObjectPropertyRef'; import { ILDToken } from './ildtoken'; export declare type ConsumeLDOptionsFunc = (ldOptions: ILDOptions) => any; export declare type OutputKVMapElement = { targetLDToken: ILDToken; targetProperty: string; }; /** * maps the kvStores that produce/change values in this itpt to a token string and a target property * on the object that is referenced by the token string * e.g. { "http://schema.com/name": {targetLDToken: "someUID", targetProperty: "someTextField"}} */ export declare type OutputKVMap = { [key: string]: OutputKVMapElement[]; }; export interface IBlueprintItpt { cfg: BlueprintConfig; consumeLDOptions: ConsumeLDOptionsFunc; ownKVLs: KVL[]; } /** * ownKVLs will be overriden if defined in config. * The order of ownKVLs and getinKeys is important, especially for * visual components, e.g.: display image as header, then text as heading, text as subheading, then text as description */ export interface BlueprintConfig { subItptOf: string; canInterpretType?: string; nameSelf: string; ownKVLs?: KVL[]; crudSkills: string; inKeys: (string | ObjectPropertyRef)[]; } /** * an interface used to construct BlueprintConfig-objects, * all its fields are optional */ export interface BlueprintConfigFragment { subItptOf?: string; canInterpretType?: string; nameSelf?: string; ownKVLs?: KVL[]; crudSkills?: string; inKeys?: (string | ObjectPropertyRef)[]; } export declare const ldBlueprint: (blueprintCfg: BlueprintConfig, replaceKVs?: boolean) => IBlueprintItpt>(target: T) => any;