import * as React from "react"; import type { TreeEventHandler } from "@blueprintjs/core"; import { type Props } from "@blueprintjs/core"; import { TreeNodeInfo } from "./treeTypes"; export interface TreeProps extends Props { compact?: boolean; contents: ReadonlyArray>; onNodeClick?: TreeEventHandler; onNodeCollapse?: TreeEventHandler; onNodeContextMenu?: TreeEventHandler; onNodeDoubleClick?: TreeEventHandler; onNodeExpand?: TreeEventHandler; onNodeMouseEnter?: TreeEventHandler; onNodeMouseLeave?: TreeEventHandler; onNodeDrop?: (source: TreeNodeInfo, sourcePath: number[], target: TreeNodeInfo, targetPath: number[], event: React.DragEvent, index?: number) => void; onNodeDragStart?: (node: TreeNodeInfo, path: number[], event: React.DragEvent) => void; onNodeDragOver?: (node: TreeNodeInfo, path: number[], event: React.DragEvent) => void; onNodeDragEnd?: (node: TreeNodeInfo, path: number[], event: React.DragEvent) => void; onNodeDragEnter?: (node: TreeNodeInfo, path: number[], event: React.DragEvent) => void; onNodeDragLeave?: (node: TreeNodeInfo, path: number[], event: React.DragEvent) => void; canDropNode?: (source: TreeNodeInfo, sourcePath: number[], target: TreeNodeInfo, targetPath: number[], index?: number) => boolean; } export declare class Tree2 extends React.Component> { static displayName: string; static ofType(): new (props: TreeProps) => Tree2; static nodeFromPath(path: readonly number[], treeNodes?: ReadonlyArray>): TreeNodeInfo; private nodeRefs; private dragSource; private draggingNode?; private dragOverNode?; private rootRef; render(): import("react/jsx-runtime").JSX.Element; getNodeContentElement(nodeId: string | number): HTMLElement | undefined; private renderNodeSpacer; private renderNodes; private handleContentRef; private handleNodeCollapse; private handleNodeClick; private handleNodeContextMenu; private handleNodeDoubleClick; private handleNodeExpand; private handleNodeMouseEnter; private handleNodeMouseLeave; private handleNodeDragStart; private handleNodeDragOver; private handleNodeDrop; private handleNodeDragEnd; private handleNodeDragEnter; private handleNodeDragLeave; private addNodeClass; private removeNodeClass; }