import { Destroyable, ObservableArray, Event, Listener } from 'vtxf-renderer/dist-node/xr-base-utils'; import { FTreeType } from './FTree'; export declare type FTreeItemInsertFlag = 'Inner' | 'Before' | 'After'; export interface FTreeItemType> { readonly tree: FTreeType; parent?: T; parentChanged: Listener<[T | undefined, T | undefined]>; setParent(treeItem: T | undefined): void; level: number; levelChanged: Listener<[number, number]>; updateLevelFromParent(): void; readonly hasChildren: boolean; childrenChanged: Event<[T]>; children: ObservableArray; itemLocked: boolean; getDescendants(traverseFunc?: (treeItem: T) => boolean, filterFunc?: (treeItem: T) => boolean): Generator; getAncestors(traverseFunc?: (treeItem: T) => boolean, filterFunc?: (treeItem: T) => boolean): Generator; isDescendantOf(treeItem: T): boolean; isAncestorOf(treeItem: T): boolean; detachFromParent(): void; insertNewTreeItem(flag: FTreeItemInsertFlag, newTreeItem?: T): boolean; destroy(): void; memId: number; } export declare class FTreeItem> extends Destroyable { private _tree; private _currentTreeItem; get tree(): FTreeType; private _parent; get parent(): T | undefined; get parentChanged(): Listener<[T | undefined, T | undefined]>; setParent(treeItem: T | undefined): void; private _level; get level(): number; get levelChanged(): Listener<[number, number]>; updateLevelFromParent(): void; private _children?; get hasChildren(): boolean; private _childrenChanged; get childrenChanged(): Event<[T]>; clearChildren(filterFunc?: (item: T) => boolean): void; get children(): ObservableArray; private _itemLocked; get itemLocked(): boolean; set itemLocked(value: boolean); get itemLockedChanged(): Listener<[boolean, boolean]>; private _extras; get extras(): any; set extras(value: any); get extrasChanged(): Listener<[any, any]>; constructor(_tree: FTreeType, _currentTreeItem: T); getDescendants(traverseFunc?: (treeItem: T) => boolean, filterFunc?: (treeItem: T) => boolean): Generator; getAncestors(traverseFunc?: (treeItem: T) => boolean, filterFunc?: (treeItem: T) => boolean): Generator; isDescendantOf(treeItem: T): boolean; isAncestorOf(treeItem: T): boolean; detachFromParent(): void; /** * 在当前节点上右键新建节点,如果当前节点是组节点(有children),则加入子节点数组中;否则插入当前节点之前(作为兄弟节点) * 新节点成功挂接,返回true,否则false * @param flag 'Inner' | 'Before' | 'After' * @param newTreeItem 需要新加入的节点,如果为undefined,表示测试是否能在当前节点加入新节点 * @returns */ insertNewTreeItem(flag: FTreeItemInsertFlag, newTreeItem?: T): boolean; }