import { BandScale } from './band-scale'; import { LinearScale } from './linear-scale'; export interface Band { /** Left (top on a vertical axis) edge of the band, in pixels. */ start: number; /** Width of the band itself — what a bar fills. */ size: number; /** Step to the next band, gap included — what a heatmap cell fills. */ step: number; } export interface BandLayout { /** The band of a value, or undefined when the value is not on the scale. */ bandOf(value: unknown): Band | undefined; } /** * Smallest distance between neighbouring values — the widest band that never * runs into the next one. The minimum rather than the average: with months of * unequal length, or a day of data missing, an average step overlaps. */ export declare function closestSpan(values: readonly unknown[], parse?: (value: unknown) => number): number | undefined; /** * Band layout over any scale. `span` is the step of the data in axis units * (milliseconds on a time axis) and is only consulted on a continuous scale; * without it — and there is nothing to derive it from on a single point — the * band falls back to a share of `extent`, the plot's length along the axis. */ export declare function bandLayout(scale: BandScale | LinearScale, span: number | undefined, extent: number): BandLayout;