import { TreeNodeProps } from 'rc-tree';
import React from 'react';
import { InternalRCNode, RCTreeNode } from './types';
type Props<Node extends RCTreeNode> = {
    treeData: Node[];
    renderNode?: (node: Node) => React.ReactElement;
    isVirtualized?: boolean;
    canDrag?: (params: {
        node: Node;
    }) => boolean;
    canDrop?: (params: {
        nextParent: Node;
        node: Node;
    }) => boolean;
    onDrop?: (treeData: Node[], dragNode: Node, parentNode: Node) => void;
    onLoadChildren?: (treeNode: Node) => Promise<void>;
    defaultExpandAll?: boolean;
    SwitchRenderer?: (props: {
        node: InternalRCNode<Node>;
    }) => React.ReactElement;
    LevelLinesRenderer?: (props: any) => React.ReactElement;
    className?: string;
    minItemHeight?: number;
    isLeaf?: (node: TreeNodeProps & Record<string, unknown>) => boolean;
    scrollToNode?: Node;
    onChange?: (node: Node[]) => void;
    height?: number;
};
export declare const RCTree: <Node extends RCTreeNode>({ treeData, isVirtualized, canDrag: canDragProp, canDrop, onDrop, onLoadChildren, defaultExpandAll, SwitchRenderer, LevelLinesRenderer, className, renderNode, minItemHeight, isLeaf, scrollToNode, onChange, height }: Props<Node>) => React.JSX.Element;
export {};
