import { CSSProperties } from 'vue'; import { default as Node } from 'element-plus/es/components/tree/src/model/node'; import { TreeNodeData, TreeOptionProps } from 'element-plus/es/components/tree/src/tree.type'; import { IconType } from '../../utils/typescript'; export type TreeNode = Node; export interface IconProperties extends CSSProperties { icon: IconType; [key: string]: any; } export interface TreeProps { filterMethod?: (value: string, data: TreeNodeData, node: TreeNode) => boolean; icon?: ((data: TreeNodeData, node: TreeNode) => IconType) | IconType; expandIcon?: ((data: TreeNodeData, node: TreeNode) => IconType) | IconType; collapseIcon?: ((data: TreeNodeData, node: TreeNode) => IconType) | IconType; showArrow?: boolean; props?: TreeOptionProps; iconMethod?: (data: TreeNodeData, node: TreeNode) => IconType | IconProperties; }