import * as echarts from "echarts";
export type SeriesOptionType = {
    type?: 'line' | 'bar';
    name?: string;
    smooth?: true;
    seriesData: Array<Array<number>>;
};
/**
 * @param {Array<Array<number>>} originData - 原始数据
 * @param {number} segment - 图表分段数
 */
export type EchartsLinkageModelType = {
    seriesOptionArray: Array<SeriesOptionType>;
    segment?: number;
};
export declare class EchartsLinkageModel {
    private seriesOptionArray;
    private segment;
    private xAxisInterval;
    private xAxisData;
    private lineSeriesMarkLineTemplate;
    private optionTemplate;
    private resultOption;
    constructor(param: EchartsLinkageModelType);
    init: () => void;
    setXAxisInterval: () => void;
    setXAxisData: () => void;
    initOptionTemplate: () => void;
    setResultOption: () => void;
    /**
     * @description 添加自定义标记线
     * @param markLineArray 自定义标记线数组 例如：[ 30, ... , 930 ]
     * @returns this 链式调用
     */
    addCustomSeriesMarkLine: (markLineArray: Array<number>) => this;
    /**
     * @description 清除所有自定义标记线
     * @returns this 链式调用
     */
    clearCustomSeriesMarkLine: () => this;
    /**
     * @description 设置自定义标记线
     * @returns this 链式调用
     */
    setCustomSeriesMarkLine: () => this;
    /**
     * @description 设置工具箱点击事件
     * @param callback 自定义工具箱按钮的点击事件回调函数
     * @returns this 链式调用
     */
    setToolBoxClickEvent: (callback: Function) => this;
    getOptionTemplate: () => echarts.EChartsOption;
    getXAxisData: () => number[];
    getResultOption: () => echarts.EChartsOption;
}
//# sourceMappingURL=EchartsLinkageModel.d.ts.map