| import * as graphic from '../../util/graphic.js'; | 
| import { AxisBaseModel } from '../../coord/AxisBaseModel.js'; | 
| declare type AxisIndexKey = 'xAxisIndex' | 'yAxisIndex' | 'radiusAxisIndex' | 'angleAxisIndex' | 'singleAxisIndex'; | 
| declare type AxisEventData = { | 
|     componentType: string; | 
|     componentIndex: number; | 
|     targetType: 'axisName' | 'axisLabel'; | 
|     name?: string; | 
|     value?: string | number; | 
|     dataIndex?: number; | 
|     tickIndex?: number; | 
| } & { | 
|     [key in AxisIndexKey]?: number; | 
| }; | 
| export interface AxisBuilderCfg { | 
|     position?: number[]; | 
|     rotation?: number; | 
|     /** | 
|      * Used when nameLocation is 'middle' or 'center'. | 
|      * 1 | -1 | 
|      */ | 
|     nameDirection?: number; | 
|     tickDirection?: number; | 
|     labelDirection?: number; | 
|     /** | 
|      * Useful when onZero. | 
|      */ | 
|     labelOffset?: number; | 
|     /** | 
|      * default get from axisModel. | 
|      */ | 
|     axisLabelShow?: boolean; | 
|     /** | 
|      * default get from axisModel. | 
|      */ | 
|     axisName?: string; | 
|     axisNameAvailableWidth?: number; | 
|     /** | 
|      * by degree, default get from axisModel. | 
|      */ | 
|     labelRotate?: number; | 
|     strokeContainThreshold?: number; | 
|     nameTruncateMaxWidth?: number; | 
|     silent?: boolean; | 
|     handleAutoShown?(elementType: 'axisLine' | 'axisTick'): boolean; | 
| } | 
| /** | 
|  * A final axis is translated and rotated from a "standard axis". | 
|  * So opt.position and opt.rotation is required. | 
|  * | 
|  * A standard axis is and axis from [0, 0] to [0, axisExtent[1]], | 
|  * for example: (0, 0) ------------> (0, 50) | 
|  * | 
|  * nameDirection or tickDirection or labelDirection is 1 means tick | 
|  * or label is below the standard axis, whereas is -1 means above | 
|  * the standard axis. labelOffset means offset between label and axis, | 
|  * which is useful when 'onZero', where axisLabel is in the grid and | 
|  * label in outside grid. | 
|  * | 
|  * Tips: like always, | 
|  * positive rotation represents anticlockwise, and negative rotation | 
|  * represents clockwise. | 
|  * The direction of position coordinate is the same as the direction | 
|  * of screen coordinate. | 
|  * | 
|  * Do not need to consider axis 'inverse', which is auto processed by | 
|  * axis extent. | 
|  */ | 
| declare class AxisBuilder { | 
|     axisModel: AxisBaseModel; | 
|     opt: AxisBuilderCfg; | 
|     readonly group: graphic.Group; | 
|     private _transformGroup; | 
|     constructor(axisModel: AxisBaseModel, opt?: AxisBuilderCfg); | 
|     hasBuilder(name: keyof typeof builders): boolean; | 
|     add(name: keyof typeof builders): void; | 
|     getGroup(): graphic.Group; | 
|     static innerTextLayout(axisRotation: number, textRotation: number, direction: number): { | 
|         rotation: number; | 
|         textAlign: import("zrender/lib/core/types").TextAlign; | 
|         textVerticalAlign: import("zrender/lib/core/types").TextVerticalAlign; | 
|     }; | 
|     static makeAxisEventDataBase(axisModel: AxisBaseModel): AxisEventData; | 
|     static isLabelSilent(axisModel: AxisBaseModel): boolean; | 
| } | 
| interface AxisElementsBuilder { | 
|     (opt: AxisBuilderCfg, axisModel: AxisBaseModel, group: graphic.Group, transformGroup: graphic.Group): void; | 
| } | 
| declare const builders: Record<'axisLine' | 'axisTickLabel' | 'axisName', AxisElementsBuilder>; | 
| export default AxisBuilder; |