| import { TextCommonOption, LineStyleOption, OrdinalRawValue, ZRColor, AreaStyleOption, ComponentOption, ColorString, AnimationOptionMixin, Dictionary, ScaleDataValue, CommonAxisPointerOption } from '../util/types.js'; | 
| export declare const AXIS_TYPES: { | 
|     readonly value: 1; | 
|     readonly category: 1; | 
|     readonly time: 1; | 
|     readonly log: 1; | 
| }; | 
| export declare type OptionAxisType = keyof typeof AXIS_TYPES; | 
| export interface AxisBaseOptionCommon extends ComponentOption, AnimationOptionMixin { | 
|     type?: OptionAxisType; | 
|     show?: boolean; | 
|     inverse?: boolean; | 
|     name?: string; | 
|     nameLocation?: 'start' | 'middle' | 'end'; | 
|     nameRotate?: number; | 
|     nameTruncate?: { | 
|         maxWidth?: number; | 
|         ellipsis?: string; | 
|         placeholder?: string; | 
|     }; | 
|     nameTextStyle?: AxisNameTextStyleOption; | 
|     nameGap?: number; | 
|     silent?: boolean; | 
|     triggerEvent?: boolean; | 
|     tooltip?: { | 
|         show?: boolean; | 
|     }; | 
|     axisLabel?: AxisLabelBaseOption; | 
|     axisPointer?: CommonAxisPointerOption; | 
|     axisLine?: AxisLineOption; | 
|     axisTick?: AxisTickOption; | 
|     minorTick?: MinorTickOption; | 
|     splitLine?: SplitLineOption; | 
|     minorSplitLine?: MinorSplitLineOption; | 
|     splitArea?: SplitAreaOption; | 
|     /** | 
|      * Min value of the axis. can be: | 
|      * + ScaleDataValue | 
|      * + 'dataMin': use the min value in data. | 
|      * + null/undefined: auto decide min value (consider pretty look and boundaryGap). | 
|      */ | 
|     min?: ScaleDataValue | 'dataMin' | ((extent: { | 
|         min: number; | 
|         max: number; | 
|     }) => ScaleDataValue); | 
|     /** | 
|      * Max value of the axis. can be: | 
|      * + ScaleDataValue | 
|      * + 'dataMax': use the max value in data. | 
|      * + null/undefined: auto decide max value (consider pretty look and boundaryGap). | 
|      */ | 
|     max?: ScaleDataValue | 'dataMax' | ((extent: { | 
|         min: number; | 
|         max: number; | 
|     }) => ScaleDataValue); | 
| } | 
| export interface NumericAxisBaseOptionCommon extends AxisBaseOptionCommon { | 
|     boundaryGap?: [number | string, number | string]; | 
|     /** | 
|      * AxisTick and axisLabel and splitLine are caculated based on splitNumber. | 
|      */ | 
|     splitNumber?: number; | 
|     /** | 
|      * Interval specifies the span of the ticks is mandatorily. | 
|      */ | 
|     interval?: number; | 
|     /** | 
|      * Specify min interval when auto calculate tick interval. | 
|      */ | 
|     minInterval?: number; | 
|     /** | 
|      * Specify max interval when auto calculate tick interval. | 
|      */ | 
|     maxInterval?: number; | 
|     /** | 
|      * If align ticks to the first axis that is not use alignTicks | 
|      * If all axes has alignTicks: true. The first one will be applied. | 
|      * | 
|      * Will be ignored if interval is set. | 
|      */ | 
|     alignTicks?: boolean; | 
| } | 
| export interface CategoryAxisBaseOption extends AxisBaseOptionCommon { | 
|     type?: 'category'; | 
|     boundaryGap?: boolean; | 
|     axisLabel?: AxisLabelOption<'category'> & { | 
|         interval?: 'auto' | number | ((index: number, value: string) => boolean); | 
|     }; | 
|     data?: (OrdinalRawValue | { | 
|         value: OrdinalRawValue; | 
|         textStyle?: TextCommonOption; | 
|     })[]; | 
|     deduplication?: boolean; | 
|     axisTick?: AxisBaseOptionCommon['axisTick'] & { | 
|         alignWithLabel?: boolean; | 
|         interval?: 'auto' | number | ((index: number, value: string) => boolean); | 
|     }; | 
| } | 
| export interface ValueAxisBaseOption extends NumericAxisBaseOptionCommon { | 
|     type?: 'value'; | 
|     axisLabel?: AxisLabelOption<'value'>; | 
|     /** | 
|      * Optional value can be: | 
|      * + `false`: always include value 0. | 
|      * + `false`: always include value 0. | 
|      */ | 
|     scale?: boolean; | 
| } | 
| export interface LogAxisBaseOption extends NumericAxisBaseOptionCommon { | 
|     type?: 'log'; | 
|     axisLabel?: AxisLabelOption<'log'>; | 
|     logBase?: number; | 
| } | 
| export interface TimeAxisBaseOption extends NumericAxisBaseOptionCommon { | 
|     type?: 'time'; | 
|     axisLabel?: AxisLabelOption<'time'>; | 
| } | 
| interface AxisNameTextStyleOption extends TextCommonOption { | 
|     rich?: Dictionary<TextCommonOption>; | 
| } | 
| interface AxisLineOption { | 
|     show?: boolean | 'auto'; | 
|     onZero?: boolean; | 
|     onZeroAxisIndex?: number; | 
|     symbol?: string | [string, string]; | 
|     symbolSize?: number[]; | 
|     symbolOffset?: string | number | (string | number)[]; | 
|     lineStyle?: LineStyleOption; | 
| } | 
| interface AxisTickOption { | 
|     show?: boolean | 'auto'; | 
|     inside?: boolean; | 
|     length?: number; | 
|     lineStyle?: LineStyleOption; | 
| } | 
| declare type AxisLabelValueFormatter = (value: number, index: number) => string; | 
| declare type AxisLabelCategoryFormatter = (value: string, index: number) => string; | 
| declare type TimeAxisLabelUnitFormatter = AxisLabelValueFormatter | string[] | string; | 
| export declare type TimeAxisLabelFormatterOption = string | ((value: number, index: number, extra: { | 
|     level: number; | 
| }) => string) | { | 
|     year?: TimeAxisLabelUnitFormatter; | 
|     month?: TimeAxisLabelUnitFormatter; | 
|     week?: TimeAxisLabelUnitFormatter; | 
|     day?: TimeAxisLabelUnitFormatter; | 
|     hour?: TimeAxisLabelUnitFormatter; | 
|     minute?: TimeAxisLabelUnitFormatter; | 
|     second?: TimeAxisLabelUnitFormatter; | 
|     millisecond?: TimeAxisLabelUnitFormatter; | 
|     inherit?: boolean; | 
| }; | 
| declare type LabelFormatters = { | 
|     value: AxisLabelValueFormatter | string; | 
|     log: AxisLabelValueFormatter | string; | 
|     category: AxisLabelCategoryFormatter | string; | 
|     time: TimeAxisLabelFormatterOption; | 
| }; | 
| interface AxisLabelBaseOption extends Omit<TextCommonOption, 'color'> { | 
|     show?: boolean; | 
|     inside?: boolean; | 
|     rotate?: number; | 
|     showMinLabel?: boolean; | 
|     showMaxLabel?: boolean; | 
|     margin?: number; | 
|     rich?: Dictionary<TextCommonOption>; | 
|     /** | 
|      * If hide overlapping labels. | 
|      */ | 
|     hideOverlap?: boolean; | 
|     color?: ColorString | ((value?: string | number, index?: number) => ColorString); | 
| } | 
| interface AxisLabelOption<TType extends OptionAxisType> extends AxisLabelBaseOption { | 
|     formatter?: LabelFormatters[TType]; | 
| } | 
| interface MinorTickOption { | 
|     show?: boolean; | 
|     splitNumber?: number; | 
|     length?: number; | 
|     lineStyle?: LineStyleOption; | 
| } | 
| interface SplitLineOption { | 
|     show?: boolean; | 
|     interval?: 'auto' | number | ((index: number, value: string) => boolean); | 
|     lineStyle?: LineStyleOption<ZRColor | ZRColor[]>; | 
| } | 
| interface MinorSplitLineOption { | 
|     show?: boolean; | 
|     lineStyle?: LineStyleOption; | 
| } | 
| interface SplitAreaOption { | 
|     show?: boolean; | 
|     interval?: 'auto' | number | ((index: number, value: string) => boolean); | 
|     areaStyle?: AreaStyleOption<ZRColor[]>; | 
| } | 
| export declare type AxisBaseOption = ValueAxisBaseOption | LogAxisBaseOption | CategoryAxisBaseOption | TimeAxisBaseOption | AxisBaseOptionCommon; | 
| export {}; |