/// <reference types="react" />
import { IGraph, IGroup, Graph } from '@antv/g6';
import { CardNodeConfig, MiniMapConfig, CardModelConfig, GraphConfig } from './types';
export declare const getGraphSize: (width: number | undefined, height: number | undefined, container: React.RefObject<HTMLDivElement>) => number[];
export declare const bindDefaultEvents: (graph: IGraph, collapseExpand?: boolean) => void;
export declare const getDefaultEdgeArrowCfg: (d?: number, arrowType?: string, fill?: string) => {
    endArrow: {
        path: any;
        fill: string;
        d: number;
    };
};
export declare const getContentAndStyle: (cfg: CardNodeConfig) => {
    text: string | number;
    style?: undefined;
} | {
    text: string | number;
    style: Partial<{
        rotate: number;
        textAlign: "center" | "end" | "start" | "left" | "right";
        angle: number;
        x: number;
        y: number;
        text: string;
        stroke: string;
        opacity: number;
        fontSize: number;
        fontStyle: "normal" | "italic" | "oblique";
        fontFamily: string;
        fontWeight: number | "bold" | "normal" | "bolder" | "lighter";
        fill: string;
        rotateCenter: string;
        lineWidth: number;
        shadowColor: string;
        shadowBlur: number;
        shadowOffsetX?: number;
        shadowOffsetY?: number;
        position: string;
        textBaseline: "top" | "bottom" | "middle" | "hanging" | "alphabetic" | "ideographic";
        offset: number;
        fillOpacity: number;
        background?: {
            fill?: string;
            stroke?: string;
            lineWidth?: number;
            radius?: number | number[];
            padding?: number | number[];
        };
    }>;
};
export declare const getConfig: (source: unknown, item: IGroup | undefined, cfg?: CardModelConfig) => any;
export declare const getGraphId: (graph: {
    current?: string;
}) => string;
export declare const renderGraph: (graph: IGraph, data: any) => void;
export declare const processMinimap: (cfg: MiniMapConfig | undefined, graph: Graph) => import("@antv/g6-plugin").Minimap;
/**
 * min ma
 */
export declare const getMarkerPosition: (direction: string, size: number[]) => {
    x: number;
    y: number;
};
/**
 * 设置 props 默认值
 * props 会在对应图表和 hooks 里面使用，不想加个很长的赋值表达式。
 * layout 使用 merge
 */
export declare const useProps: (props: Partial<GraphConfig>, defaultProps: Partial<GraphConfig>) => {
    layout: any;
    titleStyle?: Partial<{
        rotate: number;
        textAlign: "center" | "end" | "start" | "left" | "right";
        angle: number;
        x: number;
        y: number;
        text: string;
        stroke: string;
        opacity: number;
        fontSize: number;
        fontStyle: "normal" | "italic" | "oblique";
        fontFamily: string;
        fontWeight: number | "bold" | "normal" | "bolder" | "lighter";
        fill: string;
        rotateCenter: string;
        lineWidth: number;
        shadowColor: string;
        shadowBlur: number;
        shadowOffsetX?: number;
        shadowOffsetY?: number;
        position: string;
        textBaseline: "top" | "bottom" | "middle" | "hanging" | "alphabetic" | "ideographic";
        offset: number;
        fillOpacity: number;
        background?: {
            fill?: string;
            stroke?: string;
            lineWidth?: number;
            radius?: number | number[];
            padding?: number | number[];
        };
    }>;
    bodyStyle?: Partial<{
        rotate: number;
        textAlign: "center" | "end" | "start" | "left" | "right";
        angle: number;
        x: number;
        y: number;
        text: string;
        stroke: string;
        opacity: number;
        fontSize: number;
        fontStyle: "normal" | "italic" | "oblique";
        fontFamily: string;
        fontWeight: number | "bold" | "normal" | "bolder" | "lighter";
        fill: string;
        rotateCenter: string;
        lineWidth: number;
        shadowColor: string;
        shadowBlur: number;
        shadowOffsetX?: number;
        shadowOffsetY?: number;
        position: string;
        textBaseline: "top" | "bottom" | "middle" | "hanging" | "alphabetic" | "ideographic";
        offset: number;
        fillOpacity: number;
        background?: {
            fill?: string;
            stroke?: string;
            lineWidth?: number;
            radius?: number | number[];
            padding?: number | number[];
        };
    }>;
    footerStyle?: Partial<{
        rotate: number;
        textAlign: "center" | "end" | "start" | "left" | "right";
        angle: number;
        x: number;
        y: number;
        text: string;
        stroke: string;
        opacity: number;
        fontSize: number;
        fontStyle: "normal" | "italic" | "oblique";
        fontFamily: string;
        fontWeight: number | "bold" | "normal" | "bolder" | "lighter";
        fill: string;
        rotateCenter: string;
        lineWidth: number;
        shadowColor: string;
        shadowBlur: number;
        shadowOffsetX?: number;
        shadowOffsetY?: number;
        position: string;
        textBaseline: "top" | "bottom" | "middle" | "hanging" | "alphabetic" | "ideographic";
        offset: number;
        fillOpacity: number;
        background?: {
            fill?: string;
            stroke?: string;
            lineWidth?: number;
            radius?: number | number[];
            padding?: number | number[];
        };
    }>;
    footerValueStyle?: Partial<{
        rotate: number;
        textAlign: "center" | "end" | "start" | "left" | "right";
        angle: number;
        x: number;
        y: number;
        text: string;
        stroke: string;
        opacity: number;
        fontSize: number;
        fontStyle: "normal" | "italic" | "oblique";
        fontFamily: string;
        fontWeight: number | "bold" | "normal" | "bolder" | "lighter";
        fill: string;
        rotateCenter: string;
        lineWidth: number;
        shadowColor: string;
        shadowBlur: number;
        shadowOffsetX?: number;
        shadowOffsetY?: number;
        position: string;
        textBaseline: "top" | "bottom" | "middle" | "hanging" | "alphabetic" | "ideographic";
        offset: number;
        fillOpacity: number;
        background?: {
            fill?: string;
            stroke?: string;
            lineWidth?: number;
            radius?: number | number[];
            padding?: number | number[];
        };
    }>;
    showArrow?: boolean;
    collapseExpand?: boolean;
    markerPosition?: "left" | "right" | "top" | "bottom";
    data?: import("@antv/g6").TreeGraphData;
    width?: number;
    height?: number;
    pixelRatio?: number;
    nodeType?: string;
    edgeType?: string;
    nodeStyle?: import("./types").INodeStyle;
    edgeStyle?: import("./types").IEdgeStyle;
    edgeCfg?: import("./types").IEdgeCfg;
    nodeCfg?: import("./types").INodeCfg;
    markerStyle?: import("./types").INodeStyle;
    nodeStateStyles?: import("@antv/g6").StateStyles;
    edgeStateStyles?: import("@antv/g6").StateStyles;
    nodeSize?: number | number[];
    nodeAnchorPoints?: number[][];
    minimapCfg?: MiniMapConfig;
    behaviors?: string[];
    arrowType?: string;
    animate?: boolean;
    autoFit?: boolean;
    onReady?: (graph: IGraph) => void;
    style?: import("react").CSSProperties;
    className?: string;
    loading?: boolean;
    loadingTemplate?: import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
    errorTemplate?: string | number | boolean | import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | import("react").ReactFragment | ((e: Error) => import("react").ReactNode);
    showMarker?: boolean;
    nodeLabelCfg?: {
        style: import("./types").ILabelStyle;
    };
    linkCenter?: boolean;
};
