import React from 'react';
import TwTree from 'src/0components/0comp/tree';
import { IFormEngine } from '../../../1properties/1engine/formItem';
import FormView from './1comp/formview';
import TwForm from '../1form/form';
import TwPopper from 'src/0components/0comp/popper';
interface IState {
    selectedItem: any;
    formProperty: any;
    selectedNodeId: string;
    treeNodes: any[];
    activeTab: string;
    toolbars: any[];
    show: boolean;
    renderIndex: number;
    searchInput: any;
    contextPosition: any;
    contextShow: any;
}
export default class TwFormEngine extends React.Component<IFormEngine, IState> {
    treeRef: React.RefObject<TwTree>;
    formRef: React.RefObject<TwForm>;
    viewRef: React.RefObject<FormView>;
    ref: React.RefObject<any>[];
    copyItem: any;
    contextRef: React.RefObject<TwPopper>;
    keyConfig: any;
    propertyD: any;
    formConfig: any;
    fieldsMaps: any;
    hasExistNames: any;
    constructor(props: IFormEngine);
    componentDidMount(): void;
    getConfigDefault(proList: any): any;
    loadKeyConfig(): void;
    getConfigPro(view: string, propertyName: string): any;
    setItemName(name: string, cellId: any): void;
    loadFormVersion(props: IFormEngine): void;
    getRootTree(): {
        id: string;
        twview: string;
        stype: string;
        label: string;
        name: string;
        isRoot: boolean;
        formId: string | undefined;
        versionId: string | undefined;
    }[];
    shouldComponentUpdate(prev: any): boolean;
    loadTreeNode(props: IFormEngine): void;
    handleTreeNodeSelect: (activeNode: any, _: any) => void;
    handleSelectChange: (activeNode: any) => void;
    renderContextMenu(): React.JSX.Element;
    handleTreeNodeChange: (values: any) => void;
    handleTreeSearch: (value: any) => void;
    handleTreeNodeDrap: (dataInfo: any) => void;
    _getFilterTreeData(target: any): any;
    renderTreeNode: (nodeData: any) => React.JSX.Element;
    renderTreeFilterInput(): React.JSX.Element;
    renderLeftTree(): React.JSX.Element;
    /**
     *
     * @param item 原始数据
     * @param endType 改变后的类型
     */
    changetTwViewType(item: any, endType: string): void;
    handleSelectViewType(callback: any, defaultView?: string, message?: string): void;
    getRemoveIds: (item: any) => any[];
    handleDeleteNodeCall: (cell: any) => void;
    renderInput: (Comp: React.ComponentType, pros: any) => React.JSX.Element;
    renderLabelNode: (pros: any) => React.JSX.Element | null;
    renderCenter(): React.JSX.Element;
    getTreeNodeDeafultLabel(inputConfig: any): any;
    getItemByViewType(value: string): any;
    getToolbarView(element: any): string;
    handleToolBarClick: (event: any) => void;
    handleAppendItem(value: string, before?: boolean): void;
    renderToolbar(): React.JSX.Element;
    /**
     * 获取当前界面上的数据信息
     * @param callback 获取数据之后的回调
     */
    _getPrevTabValue(callback: any): any;
    /**
     * 将当前界面录入的数据保存到缓存中
     */
    getPrevTabValue(): Promise<any>;
    onTabChange: (value: string) => void;
    selectedProPertyChange: (_: any, target: any) => void;
    renderRight(): React.JSX.Element;
    render(): React.JSX.Element;
}
export {};
