import { CreateElement, VNode } from 'vue' import { MmUIComponent } from './component' type Node = any type Store = any /** Tree component */ export declare class MmTree extends MmUIComponent { /** Display data */ data: Data[] /** The text displayed when the content is empty */ emptyText: string /** Whether to render its children after the first expansion of a tree node */ renderAfterExpand: boolean /** Each tree node is used as a uniquely identified attribute, and the entire tree should be unique */ nodeKey: string /** When the checkbox is displayed, the default is false, as to whether the parent and child are strictly related */ checkStrictly: boolean /** Expand all nodes by default */ defaultExpandAll: boolean /** * If the node is expanded or shrunk when clicked, the default value is true; * if false, the node is expanded or shrunk only when the arrow icon is clicked. * */ expandOnClickNode: boolean /** Check descendants */ checkDescendants: boolean /** Whether the parent is automatically expanded when the child node is expanded */ autoExpandParent: boolean /** The array of key of the node checked by default */ defaultCheckedKeys: Key[] /** The array of keys of the default expanded node */ defaultExpandedKeys: Key[] /** Render Function for the content area of a tree node */ renderContent(h: CreateElement, args: { node: Node data: Data store: Store }): VNode /** Whether the node can be selected */ showCheckbox: boolean /** Whether the drag-and-drop node function is enabled */ draggable: boolean /** Determine whether the node can be dragged */ allowDrag(node: Node): boolean /** * Drag to determine if the target node can be placed. * There are three types of type parameters: 'prev', 'inner', and 'next', * which represent placed before the target node, * inserted into the target node, and placed after the target node, respectively * */ allowDrop(draggingNode: Node, dropNode: Node, type: string): boolean /** Configuration options */ props: { children: string label: string icon: string disabled: string } /** Lazy loading of child nodes is used in conjunction with the load method */ lazy: boolean /** If the currently selected node is highlighted, the default value is false. */ highlightCurrent: boolean /** The method to load subtree data takes effect only if lazy attribute is true */ load(node: Node, resolve: typeof Promise.resolve): void /** * A method executed when filtering a tree node returns true to indicate that the node can be displayed, * and false to indicate that the node can be hidden * */ filterMethod(value: any, data: Data, node: Node): boolean /** Open only one sibling tree node expansion at a time */ accordion: boolean /** Horizontal indent between nodes of adjacent levels in pixels */ indent: number /** Only the leaf node can highlight */ highlightOnlyLeaf: boolean /** Filter the tree node */ filter(filterArg: any): void /** Set node children by keys */ updateKeyChildren(key: Key, data: Data): void /** Get checked nodes */ getCheckedNodes(leafOnly?: boolean): Node[] /** Set checked nodes */ setCheckedNodes(nodes: Node[]): void /** Get checked keys */ getCheckedKeys(leafOnly?: boolean): Array /** Get node's all parents */ getNodePath(dataOrKey: Data | Key): Data[] /** Set checked keys */ setCheckedKeys(keys: Array, leafOnly?: boolean): void /** Set node check status by key or data */ setChecked(dataOrKey: Data | key, checked: boolean, deep?: boolean): void /** Get half checked nodes */ getHalfCheckedNodes(): Node[] /** Get half checked keys */ getHalfCheckedKeys(): Array /** Get current selected node's key */ getCurrentKey(): Key | null /** Get current selected node */ getCurrentNode(): Node /** Set current selected node by key */ setCurrentKey(key: Key): void /** Set current selected node by node */ setCurrentNode(node: Node): void /** Get node by data or key */ getNode(dataOrKey: Data | Key): Node /** Remove a node by data, key or node */ remove(node: Node | Data | Key): void /** Append a node into a node */ append(data: Data, parentNode: Node): void /** Insert a node before refNode */ insertBefore(data: Data, refNode: Node): void /** Insert a node after refNode */ insertAfter(data: Data, refNode: Node): void }