import SeriesModel from '../../model/Series';
import { SeriesOption, CircleLayoutOptionMixin, LineStyleOption, ColorString, LabelOption, ItemStyleOption, OptionDataValueNumeric, StatesOptionMixin } from '../../util/types';
import GlobalModel from '../../model/Global';
import List from '../../data/List';
declare type GaugeColorStop = [number, ColorString];
interface LabelFormatter {
    (value: number): string;
}
interface PointerOption {
    show?: boolean;
    length?: number | string;
    width?: number;
}
export interface GaugeStateOption {
    itemStyle?: ItemStyleOption;
}
export interface GaugeDataItemOption extends GaugeStateOption, StatesOptionMixin<GaugeStateOption> {
    name?: string;
    value?: OptionDataValueNumeric;
    pointer?: PointerOption;
}
export interface GaugeSeriesOption extends SeriesOption<GaugeStateOption>, GaugeStateOption, CircleLayoutOptionMixin {
    type?: 'gauge';
    radius?: number | string;
    startAngle?: number;
    endAngle?: number;
    clockwise?: boolean;
    min?: number;
    max?: number;
    splitNumber?: number;
    axisLine?: {
        show?: boolean;
        lineStyle: Omit<LineStyleOption, 'color'> & {
            color: GaugeColorStop[];
        };
    };
    splitLine?: {
        show?: boolean;
        length?: number;
        lineStyle?: LineStyleOption;
    };
    axisTick?: {
        show?: boolean;
        splitNumber?: number;
        length?: number | string;
        lineStyle?: LineStyleOption;
    };
    axisLabel?: LabelOption & {
        formatter?: LabelFormatter | string;
    };
    pointer?: PointerOption;
    title?: LabelOption & {
        offsetCenter?: (number | string)[];
        formatter?: LabelFormatter | string;
    };
    detail?: LabelOption & {
        offsetCenter?: (number | string)[];
        formatter?: LabelFormatter | string;
    };
    data?: (OptionDataValueNumeric | GaugeDataItemOption)[];
}
declare class GaugeSeriesModel extends SeriesModel<GaugeSeriesOption> {
    static type: "series.gauge";
    type: "series.gauge";
    getInitialData(option: GaugeSeriesOption, ecModel: GlobalModel): List;
    static defaultOption: GaugeSeriesOption;
}
export default GaugeSeriesModel;
