import { IColorSplitter, IRule, ISplitterValue, ISplitter, EBaseLineType, IBaseLine, EScatterMode, ELineBarMode, EBaseLineLineType, EBaseLineBound } from '@qn-pandora/pandora-app-component';
import { IChartField } from '@qn-pandora/app-sdk';
import { OVERLAP_LINE_SUFFIX } from '@qn-pandora/pandora-app-component/es/components/LegendColorPanel/type';
export { IColorSplitter, IRule, ISplitterValue, ISplitter, OVERLAP_LINE_SUFFIX, EBaseLineType, IBaseLine, EScatterMode, ELineBarMode, EBaseLineLineType, EBaseLineBound };
export declare enum ChartType {
    Line = "line",
    StackLine = "stackLine",
    PercentageLine = "percentageLine",
    Area = "area",
    StackArea = "stackArea",
    PercentageArea = "percentageArea",
    Bar = "bar",
    StackBar = "stackBar",
    PercentageBar = "percentageBar",
    VerticalBar = "verticalBar",
    StackVerticalBar = "StackVerticalBar",
    PercentageVerticalBar = "PercentageVerticalBar",
    LineBar = "lineBar",
    LineBarY2 = "lineBarY2",
    LineY2 = "lineY2",
    Pie = "pie",
    PieBucket = "pieBucket",
    PieMetric = "pieMetric",
    PieRingBucket = "pieRingBucket",
    PieRingMetric = "pieRingMetric",
    PieRoseBucket = "pieRoseBucket",
    PieRoseMetric = "pieRoseMetric",
    MapColorChina = "mapColorChina",
    MapColorWorld = "mapColorWorld",
    MapBubbleChina = "mapBubbleChina",
    MapBubbleWorld = "mapBubbleWorld",
    MapboxBubble = "mapboxBubble",
    MapboxPath = "mapboxPath",
    SingleValue = "singleValue",
    SingleGauge = "singleGauge",
    SinglePercent = "singlePercent",
    Scatter = "scatter",
    Bubble = "bubble",
    Editor = "editor",
    MigrationChina = "migrationChina",
    MigrationWorld = "migrationWorld",
    RelationHorizontal = "relationHorizontal",
    RelationCircular = "relationCircular",
    Sankey = "sankey",
    RadarBucket = "radarBucket",
    RadarMetric = "radarMetric",
    GridTable = "gridTable",
    TreeTable = "treeTable",
    Sunburst = "sunburst",
    Outlier = "outlier",
    TimeLine = "timeline",
    StatusPanel = "statusPanel",
    MetricPanel = "metricPanel",
    CapsuleBar = "capsuleBar",
    LogEvent = "logEvent",
    Honeycomb = "honeycombGraph",
    TopoLogy = "topology"
}
/**
 * 全部内置图表，用来判断是否是自定义图表
 * 不在内置图表里面即为自定义图表
 * 注：ChartType.Pie 没有真正对应图表
 */
export declare const ChartTypeMap: Omit<{
    [key in ChartType]: ChartType;
}, ChartType.Pie>;
export declare const enum StatusSwitch {
    On = "on",
    Off = "off"
}
export declare const enum AxisNameMode {
    On = "on",
    Off = "off"
}
export declare const enum LabelRotation {
    Zero = "0",
    Rotate45 = "-45",
    Rotate90 = "-90",
    RotateM45 = "45",
    RotateM90 = "90"
}
export declare const enum LabelShowMode {
    ShowAll = "showall",
    ShowAuto = "showauto",
    Hide = "hide"
}
export declare const enum LegendPositionType {
    Top = "top",
    Bottom = "bottom",
    Left = "left",
    Right = "right",
    None = "none",
    Center = "center"
}
export declare const enum LegendMetric {
    Min = "min",
    Max = "max",
    Avg = "avg",
    Current = "current",
    Total = "total"
}
export interface IFontStyle {
    color?: string;
    fontSize?: number;
}
export declare enum ChartMode {
    Chart = "chart",
    Dashboard = "dashboard"
}
export declare const enum YEmptyValueMode {
    Zero = "0",
    Line = "line",
    Gap = "gap"
}
export declare const enum LegendValueDisplay {
    Min = "min",
    Max = "max",
    Avg = "avg",
    Current = "current",
    Total = "total",
    Median = "median",
    Mode = "mode"
}
export declare const enum XLabelRotation {
    Zero = "0",
    Rotate45 = "-45",
    Rotate90 = "-90",
    RotateM45 = "45",
    RotateM90 = "90"
}
export declare const LegendValueDisplayLabel: {
    min: string;
    max: string;
    avg: string;
    current: string;
    total: string;
    median: string;
    mode: string;
};
export declare const enum LegendValueFormat {
    Value = "value",
    Percent = "percent"
}
export declare const legendValueFormatOptions: {
    value: LegendValueFormat;
    label: string;
}[];
export declare const enum PieDisplayMode {
    MetricMode = "metric",
    BucketMode = "bucket"
}
export declare const pieDisplayModeOptions: {
    value: PieDisplayMode;
    item: string;
}[];
export declare const enum PieRingTitleDataShowType {
    Hide = "hide",
    Value = "value",
    Percent = "percent"
}
export declare const pieRingTitleDataOptions: {
    value: PieRingTitleDataShowType;
    item: string;
}[];
export declare const enableOptions: {
    value: StatusSwitch;
    item: string;
}[];
export declare const InitNormalFont: IFontStyle;
export declare const InitTitleFont: IFontStyle;
export declare const InitDataFontStyle: IFontStyle;
export declare const enum CompareMethod {
    None = "none",
    Ring = "ring",
    Year = "year",
    Custom = "custom"
}
export declare const enum RadarChartType {
    Polygon = "polygon",
    Circle = "circle"
}
export declare const enum RadarIndicator {
    Metric = "metric",
    Bucket = "bucket"
}
export interface IRadarIndicatorSetting {
    key: string;
    name: string;
    displayName: string;
    max?: number;
    min: number;
    type: 'default' | 'add';
}
export declare const radarChartTypes: {
    value: RadarChartType;
    item: string;
}[];
export declare const enum RegressionType {
    Linear = "linear",
    Exponential = "exponential",
    Logarithmic = "logarithmic",
    Polynomial = "polynomial",
    None = "none"
}
/**散点图 */
export declare const regressionOptions: {
    value: RegressionType;
    text: string;
}[];
export declare enum ESizeType {
    Dynamic = "dynamic",
    Static = "static"
}
export declare const BubbleChartDefaultSettings: {
    min: number;
    max: number;
};
export declare const zeroDisplayMode: {
    value: StatusSwitch;
    item: string;
}[];
export declare const enum MergeType {
    Sum = "sum",
    Avg = "avg",
    Min = "min",
    Max = "max",
    Newest = "newest",
    Oldest = "oldest"
}
export interface IPoint {
    type?: EPoint;
    size?: number;
    borderColor?: string;
    borderWidth?: number;
}
export interface ILineMarkType {
    type: string;
    color: string;
    labelColor?: string;
}
export interface IMarkLineType {
    followClick: boolean;
    line: ILineMarkType;
    xAxis?: string;
    yAxis?: string;
}
export declare enum ILineMarkPointType {
    Hide = "hide",
    Show = "show",
    MinAndMax = "min_max"
}
export interface LineDataConfig {
    smoothLine: boolean;
    point: IPoint;
    markPointType: ILineMarkPointType;
}
export declare const enum ZoomType {
    None = "none",
    Ms10 = "ms10",
    Minute = "minute",
    Hour = "hour",
    Day = "day",
    Week = "week",
    Month = "month",
    Quarter = "quarter",
    Year = "year"
}
export declare const zoomOptions: {
    value: ZoomType;
    text: string;
}[];
export declare const enum axisPosition {
    Top = "top",
    Bottom = "bottom",
    Both = "both"
}
export declare const axisPositionOptions: {
    value: axisPosition;
    item: string;
}[];
export declare const enum AxisType {
    Value = "value",
    Category = "category",
    Time = "time",
    Log = "log"
}
export declare const enum AxisIntervalType {
    Auto = "auto",
    Split = "split",
    Fixed = "fixed"
}
export declare const AxisTypeOptions: {
    value: AxisType;
    item: string;
}[];
export declare const ValueAxisTypeOptions: {
    value: AxisType;
    item: string;
}[];
export declare enum ESingleFieldPosition {
    Bottom = "bottom",
    Right = "right"
}
export declare enum ESingleFieldTrendMode {
    None = "none",
    Value = "value",
    Arrow = "arrow",
    ValueAndArrow = "valueAndArrow",
    ZeroAndNotZero = "zeroAndNotZero"
}
export interface ISingleDisplayField {
    position: ESingleFieldPosition;
    fontSize: number;
    fieldNum: number;
    fields: ISingleField[];
}
export interface ISingleField {
    name: string;
    nickname: string;
    unit: string[];
    precision: number;
    trendMode: ESingleFieldTrendMode;
}
export declare enum EPoint {
    Circle = "circle",
    Rect = "Rect",
    Diamond = "diamond",
    Pin = "pin",
    Arrow = "arrow",
    None = "none"
}
export declare enum IBarMarkPointType {
    Hide = "hide",
    Center = "center",
    Top = "top"
}
export declare enum ELabelType {
    Field = "field",
    Number = "number",
    Percent = "percent"
}
export declare enum ENumberEmptyMode {
    Zero = "0",
    Empty = "empty"
}
export declare enum ESankeyMode {
    Level2 = "level2",
    Multistage = "multistage"
}
export declare enum EAxisMinMaxMode {
    Auto = "auto",
    Custom = "custom"
}
export declare enum EAxisMinMaxValue {
    Min = "dataMin",
    Max = "dataMax"
}
export declare enum ETooltipType {
    Legend = "legend",
    NumberAsc = "asc",
    NumberDesc = "desc"
}
export declare const InitLineDataConfig: {
    smoothLine: boolean;
    point: {
        type: EPoint;
        size: undefined;
        borderColor: undefined;
        borderWidth: undefined;
    };
    markPointType: ILineMarkPointType;
};
export declare type TFieldsGetter = (fields: IChartField[]) => string[];
