import type { Alignment as ScrollStrategy } from '@hd-front-end/element-plus/es/components/virtual-list'; import type { SetupContext } from 'vue'; import type { treeEmits } from '../virtual-tree'; import type { CheckboxValueType } from '@hd-front-end/element-plus/es/components/checkbox'; import type { TreeData, TreeKey, TreeNode, TreeNodeData, TreeProps } from '../types'; export declare function useTree(props: TreeProps, emit: SetupContext['emit']): { tree: any; flattenTree: any; isNotEmpty: any; listRef: any; getKey: (node: TreeNodeData) => TreeKey; getChildren: (node: TreeNodeData) => TreeNodeData[]; toggleExpand: (node: TreeNode) => void; toggleCheckbox: (node: TreeNode, isChecked: CheckboxValueType, nodeClick?: boolean, immediateUpdate?: boolean) => void; isChecked: (node: TreeNode) => any; isIndeterminate: (node: TreeNode) => any; isDisabled: (node: TreeNode) => boolean; isCurrent: (node: TreeNode) => boolean; isForceHiddenExpandIcon: (node: TreeNode) => boolean; handleNodeClick: (node: TreeNode, e: MouseEvent) => void; handleNodeDrop: (node: TreeNode, e: DragEvent) => void; handleNodeCheck: (node: TreeNode, checked: CheckboxValueType) => void; getCurrentNode: () => TreeNodeData | undefined; getCurrentKey: () => TreeKey | undefined; setCurrentKey: (key: TreeKey) => void; getCheckedKeys: (leafOnly?: boolean) => TreeKey[]; getCheckedNodes: (leafOnly?: boolean) => TreeNodeData[]; getHalfCheckedKeys: () => TreeKey[]; getHalfCheckedNodes: () => TreeNodeData[]; setChecked: (key: TreeKey, isChecked: boolean) => void; setCheckedKeys: (keys: TreeKey[]) => void; filter: (query: string) => void; setData: (data: TreeData) => void; getNode: (data: TreeKey | TreeNodeData) => any; expandNode: (node: TreeNode) => void; collapseNode: (node: TreeNode) => void; setExpandedKeys: (keys: TreeKey[]) => void; scrollToNode: (key: TreeKey, strategy?: ScrollStrategy) => void; scrollTo: (offset: number) => void; };