/**
 * * 扩展x轴的标题，使其定位保持和轴标签一致，以解决0轴位于图表中间时，轴标题位置跟随0轴的问题
 *
 * - 实现方案：让axisName的y方向的定位保持和axisLabel一致
 *
 * @example
 * ```javascript
 * {
 *   xAxis: {
 *     dvNameLocation: "end",
 *   }
 * }
 * ```
 *
 * TODO:
 * 1、双Y轴的情况
 * 2、X轴放上方的情况
 */
import { type EChartsExtensionInstallRegisters } from 'echarts/lib/extension';
import { type default as CartesianAxisModel } from 'echarts/lib/coord/cartesian/AxisModel';
import GridModel from 'echarts/lib/coord/cartesian/GridModel';
import { LayoutRect } from 'echarts/types/src/util/layout';
/**
 * 参考实现 @see https://github.com/apache/echarts/blob/5.3.3/src/component/axis/AxisBuilder.ts#L367
 * 只考虑单X轴的情况，其计算依赖于：
 * 1、左侧Y轴的axisLabel.inside
 * 2、左侧Y轴的label最大宽度
 * 3、Y轴的0刻度是否位于画布中间
 * 4、dvPadding(轴两侧的内边距，这个会影响xAxisExtent的范围)
 */
export declare function adjustXAxisNameLocation(axisModel: CartesianAxisModel, gridRectBoundingRect: LayoutRect, yAxisModel: CartesianAxisModel, gridModel: GridModel): void;
/**
 * yAxis.name的对齐方式有2种逻辑：
 * 1、当X轴存在0刻度时，跟x轴0刻度对齐
 * 2、当X轴不存在0刻度时，跟x轴左侧第一个刻度对齐
 *
 * 其计算依赖于：
 * 1、同一侧Y轴的axisLabel.inside
 * 2、同一侧Y轴的label最大宽度
 * 3、TODO:X轴的0刻度是否位于画布中间
 * 4、xAxis.boundaryGap的配置
 * @param axisModel
 * @param maxYLabelWidth
 * @returns
 */
export declare function adjustYAxisNameLocation(axisModel: CartesianAxisModel, xAxisModel: CartesianAxisModel, maxYLabelWidth: number, xAxisContainZero: boolean, xAxisZeroXValue: number, isLeft: boolean): void;
export declare function install(registers: EChartsExtensionInstallRegisters): void;
