import { IKeyValues } from '../../../../models/base';
import ChartStyleService, { IChartStyleInitOption, IChartStyleOption, IChartStyleContextOption } from './base';
import { ChartType } from '../../../../constants/chart-style';
export interface IOneDChartStyle extends IChartStyleOption {
    chartType: ChartType;
    currentBuckets: string[];
    currentMetrics: string[];
    unit: string[];
    precision: number;
}
export default abstract class OneDChartStyleService<T extends IOneDChartStyle = IOneDChartStyle> extends ChartStyleService<T> {
    static getChartInitStyle(option: IChartStyleInitOption, initFirst?: boolean): IKeyValues;
    abstract readonly chartType: ChartType;
    abstract option: T;
    currentBuckets: string[];
    currentMetrics: string[];
    unit: string[];
    precision: number;
    get unitTransformer(): (value: any) => any;
    setPrecision(precision: number): void;
    setCurrentBuckets(currentBuckets?: string[]): void;
    setCurrentMetrics(currentMetrics: string[]): void;
    setUnit(unit: string[]): void;
    getOptions(): IOneDChartStyle;
    get contextOption(): IChartStyleContextOption;
    constructor(option: T);
}
