import { GraphData } from '@antv/g6';
import { RadialLayout } from '@antv/layout';
import { MiniMapConfig, CardNodeCfg, IArrowConfig, CommonConfig, IGraph, ITreeGraph, Graph, IGroup, EdgeConfig, NodeConfig, ModelConfig, MarkerCfg, FetchLoading } from '../interface';
import { DecompositionTreeGraphConfig } from '../components/decomposition-tree-graph';
import { FlowAnalysisGraphConfig } from '../components/flow-analysis-graph';
export declare const isType: (value: any, type: string) => boolean;
export declare const Log: Console;
export declare const getType: (n: Object) => any;
/**
 * 深克隆
 * @param source 要深克隆的目标对象
 */
export declare const deepClone: (source: Object | undefined) => any;
export declare const getGraphSize: (width: number | undefined, height: number | undefined, container: React.RefObject<HTMLDivElement>) => number[];
declare type Datum = any;
export declare const getCenterNode: (data: GraphData) => string;
/** sector layout */
export declare const bindRadialExplore: (graph: ITreeGraph, asyncData: (nodeCfg: NodeConfig) => GraphData, layoutCfg?: RadialLayout, fetchLoading?: FetchLoading) => void;
export declare const bindDefaultEvents: (graph: ITreeGraph, level?: number, getChildren?: DecompositionTreeGraphConfig['nodeCfg']['getChildren'], fetchLoading?: FetchLoading) => void;
export declare const renderGraph: (graph: IGraph, data: any, level?: number) => void;
export declare const processMinimap: (cfg: MiniMapConfig | undefined, graph: Graph) => import("@antv/g6-plugin").Minimap;
export declare const getGraphId: (graph: {
    current?: string;
}) => string;
export declare const getMarkerPosition: (direction: string, size: number[]) => {
    x: number;
    y: number;
};
export declare const bindSourceMapCollapseEvents: (graph: IGraph, asyncData: FlowAnalysisGraphConfig['nodeCfg']['asyncData'], fetchLoading?: FetchLoading) => void;
/**
 * padding | margin 按 CSS 规则转换
 */
export declare const getCssPadding: (padding: number | number[]) => number[];
export declare const getArrowCfg: (arrowCfg: IArrowConfig | undefined, edge?: EdgeConfig<string | {
    text?: string;
    subText?: string;
}>) => {
    show?: boolean;
    type?: string;
    size?: number;
    d: number;
    path: any;
    stroke?: string;
    fill: string;
    lineDash?: number[];
    strokeOpacity?: number;
    opacity?: number;
    fillOpacity?: number;
};
export declare const bindStateEvents: (graph: IGraph, cfg?: Partial<CommonConfig> | undefined) => void;
export declare const getStyle: (source: unknown, cfg: CardNodeCfg | ModelConfig, item?: IGroup | undefined, current?: string | number) => any;
export declare const getCommonConfig: (cfg: unknown, item: EdgeConfig<string | {
    text?: string;
    subText?: string;
}> | NodeConfig | undefined, graph?: IGraph | IGroup | undefined) => any;
export declare const getSize: (size: number | number[] | undefined) => number[];
/**
 * card status 对布局的影响，直接加到 padding 中
 */
export declare const getStatusBBox: (cfg: CardNodeCfg['badge'] | undefined) => number[];
export declare const getStatusCfg: (cfg: CardNodeCfg['badge'], cardSize: [number, number]) => {
    x: number;
    y: number;
    width: number;
    height: number;
};
export declare const createMarker: (cfg: MarkerCfg, group: IGroup | undefined, size: number[]) => void;
export declare const cloneBesidesImg: (obj: any) => {};
export declare const setStyles: (container: HTMLDivElement, style?: React.CSSProperties) => void;
/**
 * 对数据进行打标，加上 level 和  parentId
 */
export declare const setTag: (data: Datum, level?: number, parentId?: string, path?: string) => any;
/**
 * 根据 level 获取相关数据
 */
export declare const getLevelData: (data: Datum, level: number) => Datum;
/**
 * 挂载异步数据到全局 data
 */
export declare const setLevelData: (graph: IGraph, data: Datum, currentPath: string) => void;
/**
 * get children
 * 获取相关路径下的一级节点
 */
export declare const getChildrenData: (data: Datum, currentPath: string) => Datum;
/**
 * 将查询到的节点挂载到当前图数据上
 */
export declare const setParentChildren: (parendData: Datum, currentPath: string, children: Datum[]) => Datum;
/** 超出省略 */
export declare const setEllipsis: (text: string, fontSize?: string | number, contentWidth?: number) => string;
/** 开启加载动画， 不支持同时存在多个 */
export declare const createLoading: (node: NodeConfig, fetchLoading: FetchLoading) => void;
/** 关闭加载动画 */
export declare const closeLoading: () => void;
/** 支持自定义 anchor */
export declare const getAnchorPoints: (anchorPoints: number[][] | ((node: NodeConfig) => number[][]), node?: NodeConfig) => {};
export {};
