import { ComponentsType, iProperty, iTrait, TagType } from "./base/type"; /** * T 代表 JSON数据 * F 代码 组件的属性 * @export * @interface iGrapesJSConfig * @template T * @template F */ export default interface iGrapesJSConfig { type: Array; id: string; tag: TagType; access: 'rw' | 'r' | 'w'; /** * 渲染方法 * * @memberof property 对应属性的物模型数据 * @memberof mock 是否渲染假数据 * @memberof jsonData 渲染数据 */ render: (jsonData: T, ...args: object[]) => JSX.Element; /** *组件第一次拖入手机或大屏内渲染数据 * * @memberof property 对应属性的物模型数据 * @memberof mock 是否模拟假数据 */ buildData: (mock: boolean, property?: iProperty) => T | undefined; /** *组件支持的修改属性 * * @type {Array} * eg: return [{ type: 'weather', name: 'weather', label: '添加配置', }] */ traits: () => Array; }