import { ChartType } from '../../../../../constants';
import Legend, { ILegend } from '../../components/legend';
import OneDChartStyleService, { IOneDChartStyle } from '../one-d';
import { IChartStyleInitOption } from '../base';
import ILegendChartStyleService from '../legend';
export interface ISunburstChartStyle extends IOneDChartStyle {
    legend: ILegend;
    showLabel?: boolean;
    maxSlices: number[];
    sectorOffset?: number;
}
export default abstract class SunburstStyleService extends OneDChartStyleService<ISunburstChartStyle> implements ILegendChartStyleService {
    static getChartInitStyle(option: IChartStyleInitOption, initFirst?: boolean): {
        fields: import("@qn-pandora/app-sdk").IChartField[];
        buckets: string[];
        metrics: string[];
        currentBuckets: string[];
        currentMetrics: string[];
    };
    legend: Legend;
    chartType: ChartType;
    showLabel?: boolean;
    maxSlices: number[];
    sectorOffset?: number;
    getOptions(): {
        chartType: ChartType;
        legend: ILegend;
        showLabel: boolean | undefined;
        maxSlices: number[];
        sectorOffset: number | undefined;
        currentBuckets: string[];
        currentMetrics: string[];
        unit: string[];
        precision: number;
        displayColors?: import("../base").IColor[] | undefined;
    };
    setShowLabel(showLabel: boolean): void;
    setMaxSlices(maxSlices: number[]): void;
    setSectorOffset(sectorOffset: number): void;
    /**
     * 批量修改styleOption装饰过的值
     * WARNING: 在父级类中使用请注意，此赋值方法也会识别到子类中styleOption装饰的
     * @param obj 赋值操作的map映射
     * @param allowNil 对obj中的nil值是否进行赋值操作
     */
    set(obj: Partial<ISunburstChartStyle>, allowNil?: boolean): void;
    /**
     * 单独修改某个styleOption装饰过的值
     * @param key 被装饰过的值的名称，如果名称不存在，或者未被装饰则函数调用无效
     * @param value 值
     */
    set<K extends keyof ISunburstChartStyle>(key: K, value: ISunburstChartStyle[K]): void;
    constructor(chart: ISunburstChartStyle);
}
