import type { NumberValue } from 'd3-scale'; import type { AnyScale } from '../types/scales.js'; /** * Minimum pixel gap required between adjacent tick labels. * * Lower values keep more ticks visible at the risk of labels almost touching; * higher values trigger reduction sooner and leave more whitespace. ~6px keeps * the gap visually clear while avoiding asymmetric drops between sibling * charts whose labels differ only by a few pixels (e.g. a leading "-"). */ export declare const TICK_LABEL_GAP_PX = 6; export type ContinuousScale = Exclude number; }>; /** * Detects whether any two adjacent formatted tick labels would visually * overlap on a horizontal axis. * * When `domainBounds` is provided the function uses domain-aware alignment — * the same logic as `getBottomTickLabelPropsWithDomainAlignment` (AC1): * - tick value === domainBounds[0] → `start` (label extends right of position) * - tick value === domainBounds[1] → `end` (label extends left of position) * - anything else → `middle` (label centered on position) * * When `domainBounds` is omitted the function falls back to the legacy * index-based behaviour (first=start, last=end, others=middle), which is * kept for callers that have not been migrated yet. */ export declare function hasHorizontalLabelCollision(formattedTicks: string[], rawTicks: NumberValue[], scale: ContinuousScale, domainBounds?: [number, number]): boolean;