import { IChartDataset } from '@qn-pandora/app-sdk';
import Store from '../../../stores/store';
import ChartActionService from '../../../services/chart-action';
import ChartStyleService from '../chart-style/charts/base';
import { ChartType } from '../../../constants/chart-style';
import IAnalysisService from './analysis';
export interface IExtendsChart {
    name: string;
    appName: string;
    icon: string;
    label: string;
    group: string;
    groupLabel: string;
    description: string;
    invisible?: boolean;
}
export default abstract class ChartConditionService extends Store {
    analysisService: IAnalysisService;
    visualizationStyle: string;
    isInitFirst: boolean;
    abstract chartStyleService: ChartStyleService;
    abstract chartActionService?: ChartActionService;
    abstract setChartType(chartType: ChartType | string, chartStyleOption?: any, initFirst?: boolean): void;
    get chartType(): string;
    get isElement(): boolean;
    get isTableChart(): boolean;
    get originDataset(): IChartDataset;
    get twoDDataConfig(): {
        field: string;
        crossAxisFields: string[];
        crossAxis2Fields: string[];
        y2Buckets: string[];
        colorsFields: string[];
        crossAxisSubFields: string[];
        y1DisplayFields: string[];
        y2DisplayFields: string[];
        fieldsGetter: import("../../../constants/chart-style").TFieldsGetter | undefined;
    };
    get dataset(): IChartDataset;
    get buckets(): import("@qn-pandora/app-sdk").IChartField[];
    get metrics(): import("@qn-pandora/app-sdk").IChartField[];
    get isAnalysising(): boolean;
    get hasDataLoaded(): boolean;
    get isInitAnalysising(): boolean;
    get process(): number;
    get hasData(): boolean;
    get isUnauth(): boolean;
    get isExtendsChart(): boolean;
    handleAnalysis(condition: any): Promise<any>;
    stop(): void;
    clearDataLoaded(): void;
    setChartStyleService(chartStyleService: ChartStyleService): void;
    setVisualizationStyle(visualizationStyle: string): void;
    constructor(analysisService: IAnalysisService);
}
