import { D3Node, ExportImgOptions, FitOptions, OrgChartDataItem, OrgChartOptions } from './types'; import { ZoomTransform } from 'd3-zoom'; import { FlextreeLayout } from 'd3-flextree'; export declare class OrgChart { private id; private firstDraw; private lastTransform; private zoomBehavior?; private flexTreeLayout?; private allNodes; private root?; private draggedNodesWrapper?; private nodesWrapper?; private svg?; private centerG?; private linksWrapper?; private connectionsWrapper?; private defsWrapper?; private chart?; private options; private dragData; constructor(options?: Partial>); getOptions(): OrgChartOptions; setOptions(options?: Partial>): this; setData(newData: TData[] | null): void; render(): this | undefined; update(node?: D3Node): void; addNodes(nodesToAdd: TData[]): this; addNode(node: TData): this; removeNode(nodeId: string): this; private createAndUpdateConnections; getNodeFromState(id: string | undefined): D3Node | undefined; private onNodeClick; /** * Trigger onNodeButtonClick and/or toggle children */ private onButtonClick; private onCompactGroupCollapseButtonClick; /** * Zoom handler function */ private zoomed; getRootNode(): D3Node | undefined; /** * This function updates nodes state and redraws graph, usually after data change */ updateNodesState(): void; private setLayouts; private zoomTreeBounds; fit(options?: FitOptions): void; setCentered(nodeId: string): this; setHighlighted(nodeId: string): this; setUpToTheRootHighlighted(nodeId: string): this; clearHighlighting(): void; /** * It can take selector which would go fullscreen */ fullscreen(element?: Element): void; /** * Zoom to specific scale */ zoom(scale: number): void; zoomIn(): void; zoomOut(): void; exportImg(options?: ExportImgOptions): void; exportSvg(): this; /** * This function can be invoked via chart.setExpanded API, it expands or collapses particular node */ setExpanded(id: string, expandedFlag?: boolean, applyToCompact?: boolean): this; expandAll(): void; collapseAll(): void; expandToLevel(depth: number): this; get d3Instance(): { selection: import("d3-selection").SelectionFn; select: typeof import("d3-selection").select; max: typeof import("d3-array").max; min: typeof import("d3-array").min; sum: typeof import("d3-array").sum; cumsum: typeof import("d3-array").cumsum; stratify: typeof import("d3-hierarchy").stratify; zoom: typeof import("d3-zoom").zoom; zoomIdentity: ZoomTransform; linkHorizontal: typeof import("d3-shape").linkHorizontal; flextree: { (options: Partial>): FlextreeLayout; readonly version: string; }; drag: typeof import("d3-drag").drag; selectAll: typeof import("d3-selection").selectAll; }; getData(): TData[] | null; private applyDraggable; private dragStarted; private dragged; private dragEnded; private getNodeId; private setNodeId; private getParentNodeId; private setParentNodeId; }