/// <reference types="echarts" />
import { IChartDataset } from '@qn-pandora/app-sdk';
import { ISeriesPiece } from '../transforms/two-d';
import { IBaseLine, ChartType, IMarkLineType } from '../../../constants/chart-style';
import type { IBand, IEmphasizeAreas, IMarkAreas, ITagColor } from '../../../constants/line-style';
export declare const toLineSeries: (data?: ISeriesPiece[][], isZeroEmptyValueMode?: boolean | undefined, isTimeValue?: boolean) => any[];
export declare const toOverlapLineSeries: (data?: {
    current: ISeriesPiece[][];
    compare?: ISeriesPiece[][];
}, isZeroEmptyValueMode?: boolean | undefined, isTimeValue?: boolean) => any[];
export declare function getBand(bandList: IBand[], hoveredSeries: {
    seriesName: string;
}, dataset: IChartDataset, xField: string, y1IsZeroEmptyValueMode?: boolean, isTimeValue?: boolean): any[];
export declare const getMarkAreas: (markAreas: IMarkAreas[]) => {
    type: string;
    silent: boolean;
    data: (string | number)[][];
    renderItem: (params: any, api: any) => {
        type: string;
        shape: import("echarts").ERectangle;
        style: any;
    };
};
export declare const updateEmphasizeAreas: (emphasizeAreas: IEmphasizeAreas[], series: any[]) => void;
export declare function getPredict(bandList: IBand[], dataset: IChartDataset, showingSeries: any[], y1IsZeroEmptyValueMode?: boolean, isTimeValue?: boolean): any[];
export declare function updateSeriesByBand(series: any[], bandList: IBand[], dataset: IChartDataset): void;
export declare function updateCrossAxisMax(lastMaxOb: {
    current: number | undefined;
}, hoveredSeries: {
    seriesName: string;
}): (value: {
    max: number;
}) => number;
export declare function getBaseLineSeries(baseLines: IBaseLine[], dataset: IChartDataset, defaultColor: string[], chartType: ChartType, xField: string, y1IsZeroEmptyValueMode?: boolean, isTimeValue?: boolean, showYAxis?: boolean): {
    numberSeries: {
        type: string;
        data: never[];
        markLine: {
            silent: boolean;
            symbol: string[];
            label: {
                show: boolean;
            };
            data: {
                [x: string]: any;
                lineStyle: {
                    color: string;
                    type: string;
                };
            }[];
        };
    };
    dynamicSeries: any[];
};
export declare function getBaseLineBar2Series(baseLines: IBaseLine[], dataset: IChartDataset, defaultColor: string[], xField: string, y1IsZeroEmptyValueMode: boolean, y2IsZeroEmptyValueMode: boolean, isTimeValue?: boolean): {
    numberLeftSeries: {
        type: string;
        data: never[];
        markLine: {
            silent: boolean;
            symbol: string[];
            label: {
                show: boolean;
            };
            data: {
                yAxis: any;
                lineStyle: {
                    color: string;
                    type: string;
                };
            }[];
        };
    };
    numberRightSeries: {
        type: string;
        data: never[];
        yAxisIndex: number;
        markLine: {
            silent: boolean;
            symbol: string[];
            label: {
                show: boolean;
            };
            data: {
                yAxis: any;
                lineStyle: {
                    color: string;
                    type: string;
                };
            }[];
        };
    };
    dynamicSeries: any[];
};
export declare function updateTagColors(series: any[], tagColors: ITagColor[]): void;
export declare function updateSeriesDataByBound(series: any[], baseLine: IBaseLine[], dynamicSeries: any[], callback: (dataItem: any, matchBaseLine: IBaseLine) => any): void;
export declare function getFollowMarkLineSeries(markLine: IMarkLineType): {
    serieX: {
        type: string;
        data: never[];
        markLine: {
            silent: boolean;
            animation: boolean;
            symbol: string[];
            label: {
                show: boolean;
            };
            lineStyle: {
                type: string;
                color: string;
            };
            data: {
                xAxis: string;
            }[];
        };
    } | undefined;
    serieY: {
        type: string;
        data: never[];
        markLine: {
            silent: boolean;
            animation: boolean;
            symbol: string[];
            label: {
                show: boolean;
            };
            lineStyle: {
                type: string;
                color: string;
            };
            data: {
                yAxis: string;
            }[];
        };
    } | undefined;
};
