/** Categorical scale with bands (for bar/column). */ export declare class BandScale { domain: T[]; range: [number, number]; paddingInner: number; paddingOuter: number; /** * How much of a band each category takes, 0..1, category by category. Every * category takes a whole one unless something says otherwise — an update * transition does, for the categories arriving and leaving: a band that * narrows to nothing lets its neighbours spread into the room it gives up, * instead of the whole axis snapping wider the moment it goes. */ weights: number[] | undefined; constructor(domain?: T[], range?: [number, number]); /** Full band step of a whole band (width + inter-band gap) — for heatmap-like series. */ get stepSize(): number; /** * Length one whole band takes, gap included. With weights it is the length a * band of weight 1 would take, and each band takes its own share of it. */ private get unit(); private get totalWeight(); private weightAt; get bandwidth(): number; /** Width of one category's band — its own share, where the shares differ. */ bandwidthOf(value: T): number; /** Share of a band a category holds, 0..1 — a whole one unless weights say otherwise. */ weightOf(value: T): number; /** Left edge of the category band. */ convert(value: T): number; /** Band center — for lines/markers/labels over categories. */ center(value: T): number; ticks(): T[]; private indexOf; } /** Default gap between group slots inside a band — fraction of the slot step. */ export declare const DEFAULT_GROUP_GAP = 0.1; /** * Splits a band into slots for grouped series (bar, range-bar, box-plot, * radial-column): adjacent slots are separated by `gap` (fraction of the slot * step), the band edges stay flush. A single slot takes the whole band. */ export declare function groupSlot(bandwidth: number, group: { index: number; count: number; } | undefined, gap?: number): { start: number; size: number; };