import { TreeNodeData as ElTreeNodeData, TreeData as ElTreeData, TreeKey as ElTreeKey, FilterNodeMethodFunction as ElFilterNodeMethodFunction } from 'element-plus/es/components/tree/src/tree.type'; import { default as ElNode } from 'element-plus/es/components/tree/src/model/node'; export type TreeNodeData = ElTreeNodeData; export type TreeData = ElTreeData; export type TreeKey = ElTreeKey; export type FilterNodeMethodFunction = ElFilterNodeMethodFunction; export type TreeNode = ElNode; export interface TreeProps { data: TreeData; emptyText: string; nodeKey: string; nodeLabel?: string | ((data: TreeNodeData, node: TreeNode) => string); nodeChildren?: string; nodeDisabled?: string | ((data: TreeNodeData, node: TreeNode) => boolean); nodeClass?: (data: TreeNodeData, node: TreeNode) => string | { [key: string]: boolean; }; renderAfterExpand: boolean; highlightCurrent: boolean; defaultExpandAll: boolean; expandOnClickNode: boolean; checkOnClickNode: boolean; autoExpandParent: boolean; defaultExpandedKeys: TreeKey[]; showCheckbox: boolean; checkStrictly: boolean; defaultCheckedKeys: TreeKey[]; currentNodeKey: TreeKey; filterNodeMethod: FilterNodeMethodFunction; accordion: boolean; indent: number; } export interface TransformOptions { idKey?: string; pIdKey?: string; rootPId?: string; childrenKey?: string; } export interface TreeExpose { filter: (value: any) => void; getCheckedKeys: (leafOnly?: boolean) => TreeKey[]; setCheckedKeys: (keys: TreeKey[]) => void; getCurrentKey: () => any; setCurrentKey: (key?: TreeKey, shouldAutoExpandParent?: boolean) => void; }