import { HTMLAttributes, MutableRefObject, ReactNode, RefObject } from 'react';
import { ActionMetadata, ComponentMetadata, DashBoardConfig, ElementSchema, IRenderContext, SetterMetadata } from '../../types';
import './index.scss';
export interface DashboardProps extends HTMLAttributes, DashBoardConfig {
/**
* 显示数据的schema
*/
data?: ElementSchema[];
/**
* 组件的物料配置
*/
components?: ComponentMetadata[];
/**
* 组件的toolbar功能配置
*/
actions?: ActionMetadata[];
/**
* 组件属性setter配置
*/
setters?: SetterMetadata[];
/**
* 默认显示的组件的toolbar功能
*/
defaultToolbarActionNames?: string[];
/**
* 组件属性设置的面板容器
*/
setterContainerRef?: MutableRefObject | RefObject;
/**
* 组件属性设置的面板附加的渲染器
*/
setterContainerExtraRender?: (props: {
renderContext: IRenderContext;
[key: string]: any;
}) => ReactNode;
/**
* 画布中附加的显示内容,可以用来添加辅助线等
*/
canvasExtraContent?: ReactNode;
}
export declare type DashboardRef = {
/**
* 获取编辑的数据
*/
getEditData: () => ElementSchema[];
/**
* 获取渲染的上下文
*/
getRenderContext: () => IRenderContext;
};
declare const _default: import("react").ForwardRefExoticComponent>;
export default _default;