import TwoDChartStore from '../stores/two-d';
import { AxisType } from '../../../constants/chart-style';
import TwoDChartStyleService from '../../../base-pandora-visualization/services/chart-style/charts/two-d';
import { IBaseAnalysisChartsProps } from '../constants/model';
declare type ScatterData = string | number;
export declare type Point = [ScatterData, ScatterData, ScatterData];
export interface IScatterSeries {
    name?: string;
    data: Point[];
    fieldType: string;
}
export default abstract class BaseScatterChartStore<T extends TwoDChartStyleService = TwoDChartStyleService> extends TwoDChartStore<T> {
    abstract getOptions(): any;
    get xField(): string;
    get yField(): string;
    get colorField(): string;
    get colorFieldIndex(): number;
    get chartDataset(): import("@qn-pandora/app-sdk").IChartDataset;
    isNumberField(field: string): boolean;
    isDateField(field: string): boolean | undefined;
    getPoint(line: any): Point;
    toScatterSeries(series: IScatterSeries[]): {
        itemStyle: {
            color: any;
            borderColor: string;
            shadowBlur: number;
        };
        type: string;
        data: Point[];
        name: string | undefined;
        fieldType: string;
        cursor: string;
    }[];
    get legendSeriesData(): any;
    get series(): any;
    getAxisDisplayName(name: string): string;
    get xAxisNameOffset(): number;
    get yAxisNameOffset(): number;
    axisLabelFormat(params: any, field: string, unitTransformer: any): any;
    get xAxisLabelFormatter(): (params: any) => any;
    get xAxisPointerFormatter(): (params: any) => any;
    get yAxisLabelFormatter(): (params: any) => any;
    get yAxisPointerFormatter(): (params: any) => any;
    get baseLineServices(): {
        type: string;
        data: never[];
        markLine: {
            silent: boolean;
            symbol: string[];
            label: {
                show: boolean;
            };
            data: {
                [x: string]: any;
                lineStyle: {
                    color: string;
                    type: string;
                };
            }[];
        };
    } | undefined;
    get baseOptions(): {
        grid: {
            top: number;
            bottom: number;
            left: number;
            right: number;
            containLabel: boolean;
        };
        tooltip: {
            trigger: string;
            showDelay: number;
            axisPointer: {
                type: string;
                z: number;
            };
        };
        dataZoom: false | {
            type: string;
            xAxisIndex: number[];
            filterMode: string;
            minValueSpan: number;
        }[];
        legend: {
            left: string;
        };
        xAxis: {
            splitLine: {
                show: boolean;
            };
        };
        yAxis: {
            splitLine: {
                show: boolean;
            };
        };
    } & {
        grid: any;
        series: any;
        xAxis: {
            name: string | null;
            nameTextStyle: {
                padding: number[];
            };
            type: AxisType;
            nameGap: number;
            axisLabel: {
                rotate: import("../../../constants/chart-style").LabelRotation;
                formatter: (params: any) => any;
                hideOverlap: boolean;
                show: boolean;
                interval: string | number;
            };
            axisPointer: {
                label: {
                    formatter: (params: any) => any;
                };
            };
        };
        yAxis: {
            name: string;
            type: AxisType;
            axisLabel: {
                formatter: (params: any) => any;
                hideOverlap: boolean;
                show: boolean;
                interval: string | number;
            };
            nameGap: any;
            min: string | number | null;
            max: string | number | null;
            axisPointer: {
                label: {
                    formatter: (params: any) => any;
                };
            };
        };
        tooltip: {
            formatter: (params: any) => string;
        };
        brush: false | {
            xAxisIndex: number;
            yAxisIndex: string;
            transformable: boolean;
        }[];
    };
    getDataViaSeriesName(dataIndex: number, seriesName: string): any;
    tooltipFormat(params: any): string;
    handleDrillDown(params: any): void;
    constructor(getProps: () => IBaseAnalysisChartsProps);
}
export {};
