import { BehaviorSubject } from 'rxjs'; export interface Dictionary { [id: number]: T; } export interface ITreeNodeData { id?: number | string; parentId?: number | string; title?: string; isOpen?: boolean; data?: any; isParent?: boolean; loading?: boolean; isMatch?: boolean; isHide?: boolean; isActive?: boolean; isChecked?: boolean; disabled?: boolean; [prop: string]: any; children?: []; } export interface ITreeMap { [index: number]: ITreeNodeData; } export interface ITreeItem { title?: string; open?: boolean; loading?: boolean; isMatch?: boolean; items?: ITreeItem[]; isParent?: boolean; data?: any; id?: number | string; isHide?: boolean; isActive?: boolean; isChecked?: boolean; halfChecked?: boolean; disabled?: boolean; showCheckbox?: boolean; [prop: string]: any; disableAdd?: boolean; disableEdit?: boolean; disableDelete?: boolean; disableSelect?: boolean; disableToggle?: boolean; } export interface ITreeInput { treeItems: Array; parentId?: number | string; treeNodeChildrenKey?: string; treeNodeIdKey?: string; checkboxDisabledKey?: string; selectDisabledKey?: string; toggleDisabledKey?: string; treeNodeTitleKey?: string; isVirtualScroll?: boolean; } export declare class TreeNode implements ITreeNodeData { id: any; parentId: any; data: any; constructor(id: any, parentId: any, data: any); } export declare class TreeFactory { isVirtualScroll: any; nodes: Dictionary; private idx; private _checked; private _treeRoot; searchItem: string; flattenNodes: BehaviorSubject; virtualScroll: boolean; canIdEmpty: boolean; static create(isVirtualScroll: any): TreeFactory; static fromTree({ treeItems, isVirtualScroll, treeNodeChildrenKey, treeNodeIdKey, checkboxDisabledKey, selectDisabledKey, // 默认值与checkboxDisabledKey相同,为了兼容以前tree的disable情况 toggleDisabledKey, treeNodeTitleKey, }: ITreeInput): TreeFactory; constructor(isVirtualScroll: any); mapTreeItems: ({ treeItems, parentId, treeNodeChildrenKey, treeNodeIdKey, checkboxDisabledKey, selectDisabledKey, toggleDisabledKey, treeNodeTitleKey, }: ITreeInput, renderTree?: boolean) => this; addNode({ id, parentId, ...data }: ITreeNodeData, index?: any, renderTree?: boolean): TreeNode; editNodeTitle(id: number | string): void; deleteNodeById(id: number | string, renderTree?: boolean): this; toggleNodeById(id: number | string): this; openNodesById(id: number | string): this; closeNodesById(id: number | string, closeChildren?: boolean): this; disabledNodesById(id: number | string): this; private _disabledParentNodes; checkNodesById(id: number | string, checked: boolean, checkableRelation?: 'upward' | 'downward' | 'both' | 'none'): Array; checkParentNodes(node: TreeNode): void; private checkChildNodes; getLineage(node: TreeNode): Array; getCheckedNodes(): Array; getCheckedNodesWithoutHide(hideInVirtualScroll?: boolean): Array; getActivatedNodes(): Array; getDisabledNodes(): Array; activeNodeById(id: number | string, isMultiple?: boolean): void; getChildrenById(id: number | string): Array; startLoading(id: number | string): void; endLoading(id: number | string): void; getNodeById(id: number | string): any; getCompleteNodeById(id: number | string): any; hideNodeById(id: number | string, hide: boolean): this; private maintainCheckedNodeList; private dfs; addChildNode(parentNode: TreeNode, childNode: TreeNode, index?: any): void; private removeChildNode; resetSearchResults(): void; searchTree(target: string, hideUnmatched?: boolean, keyword?: any, pattern?: any): any; get treeRoot(): TreeNode[]; deactivateAllNodes(): void; checkAllNodes(checked: boolean): void; getNodeIndex(node: TreeNode): number; checkIsParent(childNodeId: number | string, parentNodeId: number | string): any; getFlattenNodes(): void; flattenTree(): any[]; mergeTreeNodes(targetNode?: TreeNode[]): void; renderFlattenTree(): void; disableAllNodesChecked(disabled?: boolean): void; disableAllNodesSelected(disabled?: boolean): void; disableAllNodesToggled(disabled?: boolean): void; toggleAllNodes(toggle?: boolean): void; transferToTreeNode(originNode: any, parentId?: any, treeNodeChildrenKey?: string, treeNodeIdKey?: string, checkboxDisabledKey?: string, selectDisabledKey?: string, toggleDisabledKey?: string, treeNodeTitleKey?: string): TreeNode; }