import { IEdge, INode } from '@qn-pandora/pandora-component';
import { IField } from '@qn-pandora/visualization-sdk';
import { EThemeTypes } from '../../../constants';
import { ILevel, IRule } from '../../../constants/metric-panel-style';
export declare const NormalColor = "#fff";
export declare const NORMAL_NODE_COLOR = "#5B8FF9";
export declare const NORMAL_HOVER_COLOR = "#5B8FF9";
export declare const LineWidth = 1;
export declare const DefaultEdgeStroke = "#dddddd";
export declare const MQ_TYPE_FLAG = "messaging.";
export declare const DB_TYPE_FLAG = "db.";
export declare const EXTERNAL_TYPE_FLAG = "external.";
export declare const UA_TYPE_FLAG = "ua.";
export interface IConfig {
    name: string;
    label: string;
    type?: string;
    icon?: string;
    showLabel: string | boolean;
    alertColor?: string;
    color?: string;
    source: string;
    target: string;
    total?: number;
    edgeColor?: string;
    theme: EThemeTypes;
    layout: string;
}
export declare function getServiceTypeIcon(type?: string): string;
export declare function transformEdgeToGraphEdge(data: IEdge, edgeColor?: string): IKeyValues<any>;
export declare function transformNodeToChatNode(data: INode, nodeColor?: string): {
    [x: string]: unknown;
    [x: number]: unknown;
    label?: string | undefined;
    icon?: string | undefined;
    labelCfg?: Partial<{
        position: string;
        offset: number;
        refX: number;
        refY: number;
        autoRotate: boolean;
        style: Partial<{
            rotate: number;
            textAlign: "start" | "end" | "center" | "right" | "left";
            angle: number;
            x: number;
            y: number;
            text: string;
            stroke: string | null;
            opacity: number;
            fontSize: number;
            fontStyle: "normal" | "italic" | "oblique";
            fontFamily: string;
            fontWeight: number | "normal" | "bold" | "bolder" | "lighter";
            fill: string | null;
            rotateCenter: string;
            lineWidth: number;
            shadowColor: string;
            shadowBlur: number;
            shadowOffsetX?: number | undefined;
            shadowOffsetY?: number | undefined;
            position: string;
            textBaseline: "top" | "bottom" | "middle" | "alphabetic" | "hanging" | "ideographic";
            offset: number;
            fillOpacity: number;
            background?: {
                fill?: string | undefined;
                stroke?: string | undefined;
                lineWidth?: number | undefined;
                radius?: number | number[] | undefined;
                padding?: number | number[] | undefined;
            } | undefined;
        }>;
        maxLength?: number | undefined;
    }> | undefined;
    needMask?: boolean | undefined;
    shape?: import("@qn-pandora/pandora-component").ENodeShape | undefined;
    alertColor?: string | undefined;
    countStyle?: IKeyValues<any> | undefined;
    iconImageStyle?: IKeyValues<any> | undefined;
    iconStyle?: IKeyValues<any> | undefined;
};
export declare function getColorByRules(rules: IRule[], fields: IField[], row: IKeyValues, levels: ILevel[]): {
    maxLevelColor: string;
    maxLevelField: string;
};
export declare function getTooltipByRules(rules: IRule[], fields: IField[], row: IKeyValues, maxLevelInfo: {
    maxLevelColor: string;
    maxLevelField: string;
}, showType: boolean, type?: string): IKeyValues<any>;
