import { AxisType } from '../../../constants/chart-style';
import BaseBarChartStyleService from '../../../base-pandora-visualization/services/chart-style/charts/bar/base';
import { IBaseAnalysisChartsProps } from '../constants/model';
import TwoDChartStore from '../stores/two-d';
import { ILegendSeries } from '../stores/legend-chart';
import { TriggerType } from './defaultChartConfig';
export default abstract class BaseBarChartStore<T extends BaseBarChartStyleService> extends TwoDChartStore<T> {
    abstract showingSeries: any[];
    trigger: TriggerType;
    get defaultBaselineColor(): string[];
    get notFormatSeries(): {
        series: any[];
    };
    get barMainAxisOptions(): {
        type: string;
        splitLine: {
            show: boolean;
        };
        axisLine: {
            show: boolean;
        };
        axisTick: {
            show: boolean;
        };
        nameLocation: string;
        axisPointer: {
            type: string;
        };
    } & IKeyValues<any> & {
        name: string | null;
        type: AxisType;
        axisLabel: {
            rotate: import("../../../constants/chart-style").LabelRotation;
            formatter: (params: any) => any;
            hideOverlap: boolean;
            show: boolean;
            interval: string | number;
        };
        inverse: boolean;
        data: string[];
        nameGap: number;
        min: string | number | null;
        max: string | number | null;
    };
    get commonOptions(): {
        dataZoom: false | {
            type: string;
            filterMode: string;
            minValueSpan: number;
        }[];
        grid: {
            containLabel: boolean;
            top: number;
            bottom: number;
            left: number;
            right: number;
        };
        legend: {
            itemWidth: number;
            itemHeight: number;
        };
    } & {
        grid: any;
        tooltip: {
            confine: boolean;
            transitionDuration: number;
            appendToBody: boolean;
            formatter: (params: any) => string;
            position(_point: any, _params: any, dom: any, _: any, size: any): any[];
        };
        series: any[];
        animation: boolean;
    };
    getOptions(): IKeyValues;
    get barCrossAxis1Options(): {
        splitLine: {
            show: boolean;
            lineStyle: {
                type: string;
            };
        };
        axisLine: {
            show: boolean;
        };
        axisTick: {
            show: boolean;
        };
        nameLocation: string;
    } & IKeyValues<any> & {
        name: string;
        type: AxisType;
        axisLabel: {
            showMinLabel: boolean;
            formatter: ((value: any) => any) | null;
            hideOverlap: boolean;
        };
        min: string | number | null;
        max: string | number | null;
    } & {
        nameGap: any;
    };
    get series(): any[];
    pushToChartData(data: any, currentMetrics: string[], chartData: any): void;
    get normalLegendSeriesData(): ILegendSeries[];
    get legendSeriesData(): ILegendSeries[];
    get barMainAxisNameGap(): number;
    get barCrossAxis1NameGap(): any;
    constructor(getProps: () => IBaseAnalysisChartsProps);
}
