export interface IPureObject { [prop: string]: any; } export declare type MapValueType = T extends Map ? V : never; export interface IUnitBase { name: IDescriptionMeta; description: IWeakDescriptionMeta | null; } export interface IWeakDescriptionMeta { value: string; i18n: { [key: string]: string | null; }; } export interface IDescriptionMeta extends IWeakDescriptionMeta { displayValue: string | null; } export declare type IBasicLiteralType = string | boolean | number | object; export interface IEntityRefExpression { id: string; value: string; } export declare type TypeLiteralMeta = "object" | "string" | "number" | "boolean" | "enums"; export interface IMetaType { meta: TypeLiteralMeta; allows: (string | number)[] | number[] | string[] | null; constructor: any; } export interface IPropertyGroupBase extends IUnitBase { } export interface IPropertyBase extends IUnitBase { realName: string; group: string | null; type: IMetaType; } /** * 基本可扩展参数结构体 */ export interface ITypedSyntaxExpression { type: E; syntaxType?: TypeLiteralMeta; expression: P; } /** * 基本可扩展参数结构体的字典类型 */ export interface ITypedSyntaxExpressionMap { [name: string]: ITypedSyntaxExpression; } /** * 基本可扩展参数结构体(包含group)的字典类型 */ export interface ITypedSyntaxExpressionGroupMap { [groupOrName: string]: ITypedSyntaxExpressionMap | ITypedSyntaxExpression; } /** 组件、指令输入参数字典类型:字面量 */ export declare type IComponentInputMap = ITypedSyntaxExpressionGroupMap<"literal", IBasicLiteralType>; /** 指令的输入参数字典类型:指令引用 */ export declare type IDirectiveInputDirectiveRefMap = ITypedSyntaxExpressionGroupMap<"directiveRef", IEntityRefExpression>; /** 指令的输入参数字典类型:字面量+指令引用 */ export declare type IDirectiveInputMap = IComponentInputMap | IDirectiveInputDirectiveRefMap; /** 组件的附加参数字典类型:child附加列表 */ export declare type IComponentAttachMap = ITypedSyntaxExpressionMap<"childRefs", Array>; /** child的prop参数字典类型:字面量+状态 */ export declare type IChildPropMap = ITypedSyntaxExpressionMap<"literal" | "state">;