import { BPComponent, BPComponentProps, BPComponentState, UiConfigRendererContextType } from "./BPComponent"; import { TreeNodeInfo } from "@blueprintjs/core"; import React from "react"; export type BPTreeComponentState = BPComponentState & { nodes: TreeNodeInfo[]; }; type NodePath = (string | number)[]; export declare abstract class BPTreeComponent extends BPComponent, BPComponentProps & { className: string; } & TProps> { constructor(props: BPComponentProps & { className: string; } & TProps, context: UiConfigRendererContextType); protected _infoMap: Map>; protected _createNodeInfo(id: string, obj: T): { id: string; label: string; nodeData: T; childNodes: never[]; isExpanded: boolean; isSelected: boolean; }; protected abstract _getNodeId(obj: T): string; protected abstract _updateNodeInfo(node: TreeNodeInfo, obj: T): TreeNodeInfo; protected abstract _getRootNodes(): T[]; protected _onNodeClick(_id: string | number): Promise; protected _onNodeDoubleClick(_id: string | number): Promise; protected _cloneNodes(callback?: (t: TreeNodeInfo) => void, state?: TreeNodeInfo[]): TreeNodeInfo[]; protected _getNodePath(id: string, nodes?: TreeNodeInfo[]): NodePath; protected _forEachNode(nodes: TreeNodeInfo[] | undefined, callback: (node: TreeNodeInfo, path: NodePath) => void, path?: NodePath): TreeNodeInfo[] | undefined; protected _onNodeExpandCollapse(_id: string | number, expanded?: boolean): Promise; protected _onNodeContextMenu(_id: string | number, _e: React.MouseEvent): Promise; protected buildData(data: TreeNodeInfo[], obj: T, _?: any, _2?: any): TreeNodeInfo[]; getUpdatedState(_state: BPTreeComponentState): BPTreeComponentState; deselectAll(): Promise; setSelected(id?: string | string[], expand?: boolean): Promise; componentDidMount(): void; componentWillUnmount(): void; findSelectedNode(nodes?: TreeNodeInfo[]): TreeNodeInfo | undefined; getFlatNodes(onlyVisible?: boolean, nodes?: TreeNodeInfo[], res?: TreeNodeInfo[]): TreeNodeInfo[]; protected _handleKeyDown(e: React.KeyboardEvent): void; protected _canDropNode(_sourceNode: TreeNodeInfo, _sourcePath: NodePath, _targetNode: TreeNodeInfo, _targetPath: NodePath, _index?: number): boolean; protected _onDropNode(_sourceNode: TreeNodeInfo, _sourcePath: NodePath, _targetNode: TreeNodeInfo, _targetPath: NodePath, _e?: React.DragEvent, _index?: number): void; render(): import("react/jsx-runtime").JSX.Element | null; } export {};