import { AxisNameMode, LabelRotation, LabelShowMode, AxisType, AxisIntervalType, EAxisMinMaxMode } from '../../../../constants/chart-style';
export interface IMainAxis {
    name: string;
    nameMode: AxisNameMode;
    minMode?: EAxisMinMaxMode;
    maxMode?: EAxisMinMaxMode;
    min?: number;
    max?: number;
    labelShowMode: LabelShowMode;
    labelRotation: LabelRotation;
    field: string;
    unit: string[];
    precision: number;
    type?: AxisType;
    intervalType: AxisIntervalType;
    splitNumber?: number;
    interval?: number;
}
export default class MainAxis implements IMainAxis {
    name: string;
    nameMode: AxisNameMode;
    labelShowMode: LabelShowMode;
    labelRotation: LabelRotation;
    field: string;
    unit: string[];
    precision: number;
    type: AxisType;
    minMode?: EAxisMinMaxMode;
    maxMode?: EAxisMinMaxMode;
    min?: number;
    max?: number;
    intervalType: AxisIntervalType;
    splitNumber?: number;
    interval?: number;
    get option(): IMainAxis;
    get unitTransformer(): (value: any) => any;
    setAxisType(type: AxisType): void;
    setName(name: string): void;
    setNameMode(nameMode: AxisNameMode): void;
    setLabelShowMode(labelShowMode: LabelShowMode): void;
    setLabelRotation(labelRotation: LabelRotation): void;
    setField(field: string): void;
    setUnit(unit: string[]): void;
    setPrecision(precision: number): void;
    setMinMode(mode?: EAxisMinMaxMode): void;
    setMaxMode(mode?: EAxisMinMaxMode): void;
    setMin(min?: number): void;
    setMax(max?: number): void;
    setIntervalType(intervalType: AxisIntervalType): void;
    setSplitNumber(splitNumber: number): void;
    setInterval(interval: number): void;
    set(option: IMainAxis): void;
    constructor(option: IMainAxis);
}
