import { type ScaleDomainValue } from './intern.js'; export interface BandScale { (value: TDomain): number | undefined; domain(): TDomain[]; domain(values: Iterable): BandScale; range(): [number, number]; range(values: Iterable): BandScale; rangeRound(values: Iterable): BandScale; bandwidth(): number; step(): number; round(): boolean; round(value: boolean): BandScale; padding(): number; padding(value: number): BandScale; paddingInner(): number; paddingInner(value: number): BandScale; paddingOuter(): number; paddingOuter(value: number): BandScale; align(): number; align(value: number): BandScale; copy(): BandScale; } export interface PointScale { (value: TDomain): number | undefined; domain(): TDomain[]; domain(values: Iterable): PointScale; range(): [number, number]; range(values: Iterable): PointScale; rangeRound(values: Iterable): PointScale; bandwidth(): 0; step(): number; round(): boolean; round(value: boolean): PointScale; padding(): number; padding(value: number): PointScale; align(): number; align(value: number): PointScale; copy(): PointScale; } export declare function createBandScale(point: false, first?: Iterable | Iterable, second?: Iterable): BandScale; export declare function createBandScale(point: true, first?: Iterable | Iterable, second?: Iterable): PointScale;