export class OrgChart {
    getChartState: () => {
        id: string;
        firstDraw: boolean;
        svgWidth: number;
        svgHeight: number;
        scaleExtent: number[];
        container: string;
        defaultTextFill: string;
        defaultFont: string;
        ctx: CanvasRenderingContext2D;
        data: any;
        duration: number;
        setActiveNodeCentered: boolean;
        expandLevel: number;
        compact: boolean;
        rootMargin: number;
        nodeDefaultBackground: string;
        connections: any[];
        lastTransform: {
            x: number;
            y: number;
            k: number;
        };
        nodeId: (d: any) => any;
        parentNodeId: (d: any) => any;
        backgroundColor: string;
        zoomBehavior: any;
        defs: (state: any, visibleConnections: any) => string;
        connectionsUpdate: (d: any, i: any, arr: any) => void;
        linkUpdate: (d: any, i: any, arr: any) => void;
        nodeUpdate: (d: any, i: any, arr: any) => void;
        nodeWidth: (d3Node: any) => number;
        nodeHeight: (d: any) => number;
        siblingsMargin: (d3Node: any) => number;
        childrenMargin: (d: any) => number;
        neightbourMargin: (n1: any, n2: any) => number;
        compactMarginPair: (d: any) => number;
        compactMarginBetween: (d3Node: any) => number;
        onNodeClick: (d: any) => any;
        linkGroupArc: any;
        nodeContent: (d: any) => string;
        layout: string;
        buttonContent: ({ node, state }: {
            node: any;
            state: any;
        }) => string;
        layoutBindings: {
            left: {
                nodeLeftX: (node: any) => number;
                nodeRightX: (node: any) => any;
                nodeTopY: (node: any) => number;
                nodeBottomY: (node: any) => number;
                nodeJoinX: (node: any) => any;
                nodeJoinY: (node: any) => number;
                linkJoinX: (node: any) => any;
                linkJoinY: (node: any) => any;
                linkX: (node: any) => any;
                linkY: (node: any) => any;
                linkCompactXStart: (node: any) => any;
                linkCompactYStart: (node: any) => any;
                compactLinkMidX: (node: any, state: any) => any;
                compactLinkMidY: (node: any, state: any) => any;
                linkParentX: (node: any) => any;
                linkParentY: (node: any) => any;
                buttonX: (node: any) => any;
                buttonY: (node: any) => number;
                centerTransform: ({ root, rootMargin, centerY, scale, centerX }: {
                    root: any;
                    rootMargin: any;
                    centerY: any;
                    scale: any;
                    centerX: any;
                }) => string;
                compactDimension: {
                    sizeColumn: (node: any) => any;
                    sizeRow: (node: any) => any;
                    reverse: (arr: any) => any;
                };
                nodeFlexSize: ({ height, width, siblingsMargin, childrenMargin, state, node }: {
                    height: any;
                    width: any;
                    siblingsMargin: any;
                    childrenMargin: any;
                    state: any;
                    node: any;
                }) => any[];
                zoomTransform: ({ centerY, scale }: {
                    centerY: any;
                    scale: any;
                }) => string;
                diagonal: any;
                swap: (d: any) => void;
                nodeUpdateTransform: ({ x, y, width, height }: {
                    x: any;
                    y: any;
                    width: any;
                    height: any;
                }) => string;
            };
            top: {
                nodeLeftX: (node: any) => number;
                nodeRightX: (node: any) => number;
                nodeTopY: (node: any) => number;
                nodeBottomY: (node: any) => any;
                nodeJoinX: (node: any) => number;
                nodeJoinY: (node: any) => any;
                linkJoinX: (node: any) => any;
                linkJoinY: (node: any) => any;
                linkCompactXStart: (node: any) => any;
                linkCompactYStart: (node: any) => any;
                compactLinkMidX: (node: any, state: any) => any;
                compactLinkMidY: (node: any) => any;
                compactDimension: {
                    sizeColumn: (node: any) => any;
                    sizeRow: (node: any) => any;
                    reverse: (arr: any) => any;
                };
                linkX: (node: any) => any;
                linkY: (node: any) => any;
                linkParentX: (node: any) => any;
                linkParentY: (node: any) => any;
                buttonX: (node: any) => number;
                buttonY: (node: any) => any;
                centerTransform: ({ root, rootMargin, centerY, scale, centerX }: {
                    root: any;
                    rootMargin: any;
                    centerY: any;
                    scale: any;
                    centerX: any;
                }) => string;
                nodeFlexSize: ({ height, width, siblingsMargin, childrenMargin, state, node, compactViewIndex }: {
                    height: any;
                    width: any;
                    siblingsMargin: any;
                    childrenMargin: any;
                    state: any;
                    node: any;
                    compactViewIndex: any;
                }) => any[];
                zoomTransform: ({ centerX, scale }: {
                    centerX: any;
                    scale: any;
                }) => string;
                diagonal: any;
                swap: (d: any) => void;
                nodeUpdateTransform: ({ x, y, width, height }: {
                    x: any;
                    y: any;
                    width: any;
                    height: any;
                }) => string;
            };
            bottom: {
                nodeLeftX: (node: any) => number;
                nodeRightX: (node: any) => number;
                nodeTopY: (node: any) => number;
                nodeBottomY: (node: any) => number;
                nodeJoinX: (node: any) => number;
                nodeJoinY: (node: any) => number;
                linkJoinX: (node: any) => any;
                linkJoinY: (node: any) => number;
                linkCompactXStart: (node: any) => any;
                linkCompactYStart: (node: any) => number;
                compactLinkMidX: (node: any, state: any) => any;
                compactLinkMidY: (node: any) => any;
                linkX: (node: any) => any;
                linkY: (node: any) => any;
                compactDimension: {
                    sizeColumn: (node: any) => any;
                    sizeRow: (node: any) => any;
                    reverse: (arr: any) => any;
                };
                linkParentX: (node: any) => any;
                linkParentY: (node: any) => number;
                buttonX: (node: any) => number;
                buttonY: (node: any) => number;
                centerTransform: ({ root, rootMargin, centerY, scale, centerX, chartHeight }: {
                    root: any;
                    rootMargin: any;
                    centerY: any;
                    scale: any;
                    centerX: any;
                    chartHeight: any;
                }) => string;
                nodeFlexSize: ({ height, width, siblingsMargin, childrenMargin, state, node }: {
                    height: any;
                    width: any;
                    siblingsMargin: any;
                    childrenMargin: any;
                    state: any;
                    node: any;
                }) => any[];
                zoomTransform: ({ centerX, scale }: {
                    centerX: any;
                    scale: any;
                }) => string;
                diagonal: any;
                swap: (d: any) => void;
                nodeUpdateTransform: ({ x, y, width, height }: {
                    x: any;
                    y: any;
                    width: any;
                    height: any;
                }) => string;
            };
            right: {
                nodeLeftX: (node: any) => number;
                nodeRightX: (node: any) => number;
                nodeTopY: (node: any) => number;
                nodeBottomY: (node: any) => number;
                nodeJoinX: (node: any) => number;
                nodeJoinY: (node: any) => number;
                linkJoinX: (node: any) => number;
                linkJoinY: (node: any) => any;
                linkX: (node: any) => any;
                linkY: (node: any) => any;
                linkParentX: (node: any) => number;
                linkParentY: (node: any) => any;
                buttonX: (node: any) => number;
                buttonY: (node: any) => number;
                linkCompactXStart: (node: any) => number;
                linkCompactYStart: (node: any) => any;
                compactLinkMidX: (node: any, state: any) => any;
                compactLinkMidY: (node: any, state: any) => any;
                centerTransform: ({ root, rootMargin, centerY, scale, centerX, chartWidth }: {
                    root: any;
                    rootMargin: any;
                    centerY: any;
                    scale: any;
                    centerX: any;
                    chartWidth: any;
                }) => string;
                nodeFlexSize: ({ height, width, siblingsMargin, childrenMargin, state, node }: {
                    height: any;
                    width: any;
                    siblingsMargin: any;
                    childrenMargin: any;
                    state: any;
                    node: any;
                }) => any[];
                compactDimension: {
                    sizeColumn: (node: any) => any;
                    sizeRow: (node: any) => any;
                    reverse: (arr: any) => any;
                };
                zoomTransform: ({ centerY, scale }: {
                    centerY: any;
                    scale: any;
                }) => string;
                diagonal: any;
                swap: (d: any) => void;
                nodeUpdateTransform: ({ x, y, width, height }: {
                    x: any;
                    y: any;
                    width: any;
                    height: any;
                }) => string;
            };
        };
    };
    actions(actions: any): OrgChart;
    initializeEnterExitUpdatePattern(): void;
    getNodeChildren({ data, children, _children }: {
        data: any;
        children: any;
        _children: any;
    }, nodeStore: any): any;
    initialZoom(zoomLevel: any): OrgChart;
    render(): OrgChart;
    addNode(obj: any): OrgChart;
    removeNode(nodeId: any): OrgChart;
    groupBy(array: any, accessor: any, aggegator: any): any;
    calculateCompactFlexDimensions(root: any): void;
    calculateCompactFlexPositions(root: any): void;
    update({ x0, y0, x, y, width, height }: {
        x0: any;
        y0: any;
        x?: number;
        y?: number;
        width: any;
        height: any;
    }): void;
    isEdge(): any;
    hdiagonal(s: any, t: any, m: any): string;
    diagonal(s: any, t: any, m: any): string;
    restyleForeignObjectElements(): void;
    onButtonClick(event: any, d: any): void;
    setExpansionFlagToChildren({ data, children, _children }: {
        data: any;
        children: any;
        _children: any;
    }, flag: any): void;
    expandSomeNodes(d: any): void;
    updateNodesState(): void;
    setLayouts({ expandNodesFirst }: {
        expandNodesFirst?: boolean;
    }): void;
    collapse(d: any): void;
    expand(d: any): void;
    zoomed(event: any, d: any): void;
    zoomTreeBounds({ x0, x1, y0, y1, params }: {
        x0: any;
        x1: any;
        y0: any;
        y1: any;
        params?: {
            animate: boolean;
            scale: boolean;
        };
    }): void;
    fit({ animate, nodes, scale }?: {
        animate?: boolean;
        nodes: any;
        scale?: boolean;
    }): OrgChart;
    setExpanded(id: any, expandedFlag?: boolean): OrgChart;
    setCentered(nodeId: any): OrgChart;
    setHighlighted(nodeId: any): OrgChart;
    setUpToTheRootHighlighted(nodeId: any): OrgChart;
    clearHighlighting(): void;
    fullscreen(elem: any): void;
    zoomIn(): void;
    zoomOut(): void;
    toDataURL(url: any, callback: any): void;
    exportImg({ full, scale, onLoad, save }?: {
        full?: boolean;
        scale?: number;
        onLoad?: (d: any) => any;
        save?: boolean;
    }): void;
    exportSvg(): OrgChart;
    expandAll(): OrgChart;
    collapseAll(): OrgChart;
    downloadImage({ node, scale, isSvg, save, onAlreadySerialized, onLoad }: {
        node: any;
        scale?: number;
        isSvg?: boolean;
        save?: boolean;
        onAlreadySerialized?: (d: any) => void;
        onLoad?: (d: any) => void;
    }): void;
    getTextWidth(text: any, { fontSize, fontWeight, defaultFont, ctx }?: {
        fontSize?: number;
        fontWeight?: number;
        defaultFont?: string;
        ctx: any;
    }): any;
}
