import * as React from "react";
import { TitleType } from "../svg/frameFunctions";
import { NetworkFrameProps, NetworkFrameState, NetworkSettingsType, NodeType } from "../types/networkTypes";
import { GenericObject } from "../types/generalTypes";
export declare const nodesEdgesFromHierarchy: (baseRootNode: any, idAccessor?: (d: any) => any) => {
    edges: any[];
    nodes: any[];
};
export declare const calculateNetworkFrame: (currentProps: NetworkFrameProps, prevState: NetworkFrameState) => {
    adjustedPosition: number[];
    adjustedSize: number[];
    backgroundGraphics: Function | React.ReactNode;
    foregroundGraphics: Function | React.ReactNode;
    title: TitleType;
    renderNumber: number;
    projectedNodes: NodeType[];
    projectedEdges: import("../types/networkTypes").EdgeType[];
    projectedXYPoints: any;
    overlay: any[];
    nodeIDAccessor: (d?: GenericObject, i?: number) => string;
    sourceAccessor: (d?: GenericObject, i?: number) => string | GenericObject;
    targetAccessor: (d?: GenericObject, i?: number) => string | GenericObject;
    nodeSizeAccessor: (args?: GenericObject) => number;
    edgeWidthAccessor: (d?: GenericObject, i?: number) => number;
    margin: import("../types/generalTypes").MarginType;
    legendSettings: any;
    networkFrameRender: {
        edges: {
            accessibleTransform: (data: any, i: any) => any;
            data: import("../types/networkTypes").EdgeType[];
            styleFn: (d?: GenericObject, i?: number) => GenericObject;
            classFn: (d?: GenericObject, i?: number) => string;
            renderMode: (d?: GenericObject, i?: number) => string | GenericObject;
            canvasRenderFn: (d?: GenericObject, i?: number) => boolean;
            renderKeyFn: (d: any) => any;
            behavior: (settings: any) => any[];
            projection: "radial" | "vertical" | "horizontal";
            type: string | Function;
            customMark: any;
            networkSettings: NetworkSettingsType;
            numberOfNodes: number;
            size: number[];
        };
        nodes: {
            accessibleTransform: (data: any, i: any) => any;
            data: NodeType[];
            styleFn: (d?: GenericObject, i?: number) => GenericObject;
            classFn: (d?: GenericObject, i?: number) => string;
            renderMode: (d?: GenericObject, i?: number) => string | GenericObject;
            canvasRenderFn: (d?: GenericObject, i?: number) => boolean;
            customMark: any;
            behavior: ({ data, renderKeyFn, customMark, styleFn, classFn, renderMode, canvasDrawing, canvasRenderFn, baseMarkProps, networkSettings }: {
                data: any;
                renderKeyFn: any;
                customMark: any;
                styleFn: any;
                classFn: any;
                renderMode: any;
                canvasDrawing: any;
                canvasRenderFn: any;
                baseMarkProps: any;
                networkSettings: any;
            }) => any[];
            renderKeyFn: (args: GenericObject) => string;
            networkSettings: NetworkSettingsType;
        };
    };
    nodeLabelAnnotations: any[];
    graphSettings: {
        type: string | (({ edges, nodes }: {
            edges: import("../types/networkTypes").EdgeType[];
            nodes: NodeType[];
        }) => void);
        hierarchyChildren?: Function;
        hierarchySum?: Function;
        layout?: Function;
        nodeSize?: Function;
        nodes: object[];
        edges: object;
        iterations?: number;
        width?: number;
        height?: number;
        projection?: "radial" | "vertical" | "horizontal";
        customSankey?: Function;
        groupWidth?: number;
        padAngle?: number;
        padding?: number;
        orient?: string;
        nodePadding?: number;
        nodePaddingRatio?: number;
        nodeWidth?: number;
        direction?: string;
        fontSize?: number;
        rotate?: Function;
        fontWeight?: number;
        textAccessor?: Function;
        edgeStrength?: number;
        distanceMax?: number;
        edgeDistance?: number;
        forceManyBody?: number | Function;
        hierarchicalNetwork: boolean;
        graphSettings: import("../types/networkTypes").GraphSettingsType;
        sortGroups?: Function;
        simulation?: Function;
        sort?: (a: GenericObject, b: GenericObject) => number;
        zoom?: boolean | "stretch" | ((nodes: NodeType[], edges: import("../types/networkTypes").EdgeType[], size: number[]) => void);
        fixExistingNodes?: boolean | Function;
        showArrows?: boolean;
        nodeHash: Map<any, NodeType>;
        edgeHash: Map<any, import("../types/networkTypes").EdgeType>;
        filterRenderedNodes?: Function;
    };
    props: NetworkFrameProps;
};
