import React from 'react';
import type { WithTranslation } from 'react-i18next';
import { Sensor } from '@worldprinter/lowcode-layout';
import type { CNode, CRootNode } from '@worldprinter/lowcode-model';
import type { CPluginCtx } from '../../../../core/pluginManager';
import type { DesignerExports } from '../../../Designer';
import type { ContextState } from './context';
import type { TreeNodeData } from './dataStruct';
type TreeViewProps = {
    pluginCtx: CPluginCtx;
    multiSelect?: boolean;
} & WithTranslation;
export declare class TreeView extends React.Component<TreeViewProps, ContextState & {
    dropPosInfo: {
        x: number;
        y: number;
    } | null;
}> {
    domRef: React.RefObject<HTMLDivElement>;
    disposeCbList: (() => void)[];
    sensor?: Sensor;
    constructor(props: TreeViewProps);
    getDesignerHandler: () => Promise<DesignerExports>;
    updateTreeDataFromNode: () => void;
    getParentKeyPaths: (targetKey: string) => string[];
    scrollNodeToView: (key: string) => void;
    componentDidMount(): Promise<void>;
    toSelectTreeNode: (node: CNode | CRootNode) => void;
    containNode: (parentNode: TreeNodeData, targetNode: TreeNodeData) => null;
    getTreeNodeByKey: (key: string) => TreeNodeData | null;
    registerDragEvent: () => Promise<void>;
    render(): import("@emotion/react/jsx-runtime").JSX.Element;
}
export {};
