import { ImageLoader } from './ImageLoader'; import { NodeDB } from './NodeDB'; import { RaphaelPaper } from 'raphael'; import { RaphaelPathExtended, TreeNode } from './TreeNode'; import { Coordinate, ChartInterface, NodeInterface, ChartStructure, NodeText } from './Treant'; export interface LevelMaxDim { height: number; width: number; } export declare class Tree { imageLoader: ImageLoader; nodeDBClass: NodeDB; private util; private treeReady; treePositioned: Promise; initJsonConfig: ChartStructure; initTreeId: number; id: number; drawArea: HTMLElement; connectionStore: { [key: number]: RaphaelPathExtended; }; loaded: boolean; _R: RaphaelPaper; lastNodeOnLevel: { [key: number]: number; }; levelMaxDim: LevelMaxDim[]; inAnimation: boolean; CONFIG: Partial; nodeDB: NodeDB; constructor(imageLoader: ImageLoader, nodeDBClass: NodeDB); init(jsonConfig: ChartStructure, treeId: number): this; reset(jsonConfig: ChartStructure, treeId: number): this; reload(): this; getNodeDb(): NodeDB; redraw(): this; positionTree(callback?: (tree: Tree) => void): this; firstWalk(node: TreeNode, level: number): this; apportion(node: TreeNode, level: number): void; secondWalk(node: TreeNode, level: number, X: number, Y: number): void; positionNodes(): this; handleOverflow(treeWidth: number, treeHeight: number): this; setConnectionToParent(treeNode: TreeNode, hidePoint: Coordinate): this; getPointPathString(hidePoint: Coordinate): string; animatePath(path: RaphaelPathExtended, pathString: string): this; getPathString(from_node: TreeNode, to_node: TreeNode, stacked: boolean): string; setNeighbors(node: TreeNode, level: number): TreeNode; calcLevelDim(node: TreeNode, level: number): void; resetLevelData(): this; root(): TreeNode; addChildToNode(selectedNode: TreeNode, nodeDefinition: Partial): Partial; addParentForNode(selectedNode: TreeNode, nodeDefinition: Partial): Partial; removeNode(selectedNode: TreeNode): Partial; updateNode(selectedNode: TreeNode, nodeData: Partial): Partial; removeChildren(treeNode: TreeNode): void; private searchNodeByIdInConfig; }