import { ITree } from "../interfaces/ITree";
import { ITreeItem } from "../interfaces/ITreeItem";
import { Node } from "./Node";
export declare class Tree extends Node implements ITree {
  private _disabledValues;
  private _changeCallback;
  private _filterPattern;
  private _currentItems;
  constructor(changeCallback: () => void);
  addChildAt(parentId: string, item: ITreeItem): Promise<void>;
  setDisabled(id: string, value: boolean): void;
  isNodeDisabled(id: string, defaultValue: boolean): boolean;
  load(items: Array<ITreeItem>): void;
  setFilterPattern(pattern: string, enableHierarchicalFilter?: boolean): Promise<void>;
  updateItem(item: ITreeItem): void;
  removeItem(id: string): void;
  open(path: string): Promise<void>;
  private setAllChildrenVisible;
  private applyFilter;
  private applyLayeredFilter;
  walkPath(parent: Node, path: string, callback: (node: Node) => void, currentLevel?: number): Promise<void>;
  loadChildren(node: Node): Promise<void>;
  expandAll(): void;
  collapseAll(): void;
  private setAllChildrenExpanded;
  private loadLevel;
}
