import { Selection } from 'd3-selection'; import { XYComponentCore } from '../../core/xy-component'; import { Position } from '../../types/position'; import { Spacing } from '../../types/spacing'; import { AxisConfigInterface } from './config'; import * as s from './style'; export declare class Axis extends XYComponentCore> { static selectors: typeof s; protected _defaultConfig: AxisConfigInterface; config: AxisConfigInterface; private axisGroup; private gridGroup; private _axisRawBBox; private _axisSizeBBox; private _requiredMargin; private _defaultNumTicks; private _collideTickLabelsAnimFrameId; private _tickTextStyleCached; protected events: {}; constructor(config?: AxisConfigInterface); setConfig(config: AxisConfigInterface): void; /** Renders axis to an invisible grouped to calculate automatic chart margins */ preRender(): void; getPosition(): Position; private _getAxisSize; private _getRequiredMargin; getRequiredMargin(): Spacing; /** Calculates axis transform:translate offset based on passed container margins */ getOffset(containerMargin: Spacing): { left: number; top: number; }; _render(duration?: number, selection?: Selection): void; private _getAxisGen; private _buildAxis; private _buildGrid; private _renderAxis; private _resolveTickLabelOverlap; /** Finds the largest tick set whose labels don't overlap (see {@link findFittingTickValues}), * along with the original tick set — its remaining ticks get rendered as unlabeled tick marks. * The candidates are "nice" d3 tick sets, or every-k-th subsets when explicit `tickValues` are set. * Returns `undefined` when the search is not applicable, falling back to the default tick generation. */ private _getFittingTickValues; /** Fair-share width available to a tick label before it gets wrapped or trimmed */ private _getTickTextMaxWidth; /** Label rendering options shared between `_renderAxis` and the tick fitting predictions * (see `_getTickLabelRects`) — the two must stay identical for the predicted geometry * to match the render. Precise (cached) measurements are used for wrapping for the same reason */ private _getTickTextOptions; /** Predicts tick label rects using the same text wrapping and cached measurements * the renderer itself relies on. */ private _getTickLabelRects; /** Returns the cached tick label text style, resolving it on first use — from the given * element when provided, otherwise from a throwaway element with the same classes */ private _getTickTextStyle; private _getNumTicks; private _getConfiguredTickValues; private _shouldRenderMinMaxTicksOnly; private _getFullDomainPath; private _renderAxisLabel; private _getLabelDY; private _getTickTextOffset; private _alignTickLabels; private _getYTickTextTranslate; protected _onDestroy(): void; }