import { I as IForEachTreeCallback } from '../forEachTree-D2aQzbAW.js'; import { MoveTreeNodePosition } from './moveTreeNode.js'; import { SerachTreeOptions } from './searchTree.js'; import { TreeNodeBase, TreeNode, TreeNodeOptions } from './types.js'; interface FlexTreeOptions extends TreeNodeOptions { idGenerator(node: Partial): Node[IdKey]; } declare class FlexTree { #private; constructor(nodes: Node[] | Node, options?: FlexTreeOptions); get root(): Node | undefined; get nodes(): Node[]; [Symbol.iterator](): { next: () => { value: Parameters>[0]; done: boolean; }; }; /** * 返回指定id的节点 * @param nodeId * @returns */ getNode(nodeId: Node[IdKey]): Node | null; addNode(nodeData: Partial, refNodeId: Node[IdKey], pos?: MoveTreeNodePosition): Node; removeNode(nodeId: Node[IdKey]): void; moveNode(nodeId: Node[IdKey], refNodeId: Node[IdKey], pos: MoveTreeNodePosition): void; /** * 搜索节点 */ search(matcher: IForEachTreeCallback, picker?: IForEachTreeCallback, options?: SerachTreeOptions): Node[][]; } export { FlexTree, type FlexTreeOptions };