import { ExternalComponentType, PaperWidgetNodeRenderers } from '../../domain/widget/component-type';
import { PAPER_WIDGET_TYPE } from '../../domain/paper-widget/paper-widget-type';
import { PaperWidgetPropsSchemaKey } from '../../domain/paper-widget/paper-widget-props-schema-type';
export interface PaperWidgetManifest {
    /** 唯一 key */
    key: string;
    /** 页面组件类型 */
    type: PAPER_WIDGET_TYPE;
    /** 名称 */
    label: string;
    /** icon 标识 */
    icon: string;
    /** icon 版本 */
    version: 'v1' | 'v2';
    /** 是否允许拖入 Word */
    allowDrag?: boolean;
    /** 是否允许脱离文档流 */
    outOfFlow?: boolean;
    /** 渲染组件节点类型 */
    renderers: PaperWidgetNodeRenderers;
    /** 渲染的组件类型 */
    component: ExternalComponentType;
    /** 右侧面板配置 schema key */
    propsSchema?: PaperWidgetPropsSchemaKey;
    /** 默认布局信息 */
    defaultLayout: Record<string, any>;
    /** 默认属性 */
    defaultProps: Record<string, any>;
    /** 扩展能力 */
    extensions?: Record<string, any>;
}
export type PaperWidgetManifestMap = Partial<Record<PAPER_WIDGET_TYPE, PaperWidgetManifest>>;
