import { Axis, AxisRendererBase, HorizontalAlignment, type IRenderContext, PlotModel, type ScreenPoint, VerticalAlignment } from '../..'; /** * Provides functionality to render horizontal and vertical axes. */ export declare class HorizontalAndVerticalAxisRenderer extends AxisRendererBase { /** * Initializes a new instance of the HorizontalAndVerticalAxisRenderer class. * @param rc The render context. * @param plot The plot. */ constructor(rc: IRenderContext, plot: PlotModel); /** * Renders the specified axis. * @param axis The axis. * @param pass The pass. */ render(axis: T, pass: number): Promise; /** * Interpolates linearly between two values. * @param x0 The x0. * @param x1 The x1. * @param f The interpolation factor. * @returns The interpolated value. */ protected static lerp(x0: number, x1: number, f: number): number; /** * Snaps v to value if it is within the specified distance. * @param target The target value. * @param v The value to snap. * @param eps The distance tolerance. */ protected static snapTo(target: number, v: number, eps?: number): number; /** * Gets the axis title position, rotation and alignment. * @param axis The axis. * @param titlePosition The title position. * @returns The ScreenPoint. */ protected getAxisTitlePositionAndAlignment(axis: Axis, titlePosition: number): { point: ScreenPoint; angle: number; halign: HorizontalAlignment.Center; valign: VerticalAlignment.Top | VerticalAlignment.Bottom; }; /** * Renders the axis title. * @param axis The axis. * @param titlePosition The title position. */ protected renderAxisTitle(axis: Axis, titlePosition: number): Promise; /** * Renders the major items. * @param axis The axis. * @param axisPosition The axis position. * @param titlePosition The title position. * @param drawAxisLine Draw the axis line if set to true. */ protected renderMajorItems(axis: T, axisPosition: number, titlePosition: number, drawAxisLine: boolean): Promise; /** * Renders the minor items. * @param axis The axis. * @param axisPosition The axis position. */ protected renderMinorItems(axis: T, axisPosition: number): Promise; /** * Adds segments to segments array. * If cropGridlines is true, then lines will be cropped with perpAxes lists axes. * @param segments The target segments. * @param perpAxes Perpendicular axes list. * @param isHorizontal True, if current axis is horizontal. * @param cropGridlines True, if gridlines should be cropped. * @param transformedValue Starting point position. * @param plotAreaLeft Plot area left position. * @param plotAreaRight Plot area right position. * @param plotAreaTop Plot area top position. * @param plotAreaBottom Plot area bottom position. */ private addSegments; /** * Gets the alignments given the specified rotation angle. * @param boxAngle The angle of a box to rotate (usually it is label angle). * @param axisAngle The axis angle, the original angle belongs to. The Top axis should have 0, next angles are computed clockwise. * The angle should be in [-180, 180). (T, R, B, L) is (0, 90, -180, -90). * @remarks This method is supposed to compute the alignment of the labels that are put near axis. * Because such labels can have different angles, and the axis can have different angles as well, * computing the alignment is not straightforward. */ private getRotatedAlignments; } //# sourceMappingURL=HorizontalAndVerticalAxisRenderer.d.ts.map