import { DTreeData, DTreeDataOptions } from "./d-tree-data"; import { DTreeNode } from "./d-tree-node"; import { DTreeNodeAccessor } from "./d-tree-node-accessor"; import { DTreeNodeIteratee } from "./d-tree-node-iteratee"; import { DTreeDataSelection } from "./d-tree-data-selection"; import { DTreeDataMapped } from "./d-tree-data-mapped"; export interface DTreeDataImplParent { update(forcibly?: boolean): void; } export interface DTreeDataImplSelection extends DTreeDataSelection { onNodeChange(nodes: NODE[]): void; } export declare class DTreeDataImpl implements DTreeData { protected _parent: DTreeDataImplParent; protected _nodeToFlag: WeakMap; protected _selection: DTreeDataImplSelection; protected _nodes: NODE[]; protected _accessor: DTreeNodeAccessor; protected _mapped: DTreeDataMapped; constructor(parent: DTreeDataImplParent, options?: DTreeDataOptions); protected toSelection(options?: DTreeDataOptions): DTreeDataImplSelection; get nodes(): NODE[]; set nodes(nodes: NODE[]); get mapped(): DTreeDataMapped; get accessor(): DTreeNodeAccessor; get selection(): DTreeDataSelection; update(forcibly?: boolean): void; toggle(target: NODE): boolean; expand(target: NODE): boolean; collapse(target: NODE): boolean; expandAll(): boolean; collapseAll(): boolean; isCollapsed(target: NODE): boolean; isExpanded(target: NODE): boolean; clear(): boolean; remove(target: NODE): boolean; add(target: NODE, parent?: NODE): boolean; addBefore(target: NODE, sibling: NODE): boolean; addAfter(target: NODE, sibling: NODE): boolean; each(iteratee: DTreeNodeIteratee): void; protected each_(nodes: NODE[], parent: NODE | null, iteratee: DTreeNodeIteratee): void; }