import Scale from './Scale.js'; import { ScaleTick, Dictionary } from '../util/types.js'; declare class IntervalScale = Dictionary> extends Scale { static type: string; type: string; protected _interval: number; protected _niceExtent: [number, number]; private _intervalPrecision; parse(val: number): number; contain(val: number): boolean; normalize(val: number): number; scale(val: number): number; setExtent(start: number | string, end: number | string): void; unionExtent(other: [number, number]): void; getInterval(): number; setInterval(interval: number): void; /** * @param expandToNicedExtent Whether expand the ticks to niced extent. */ getTicks(expandToNicedExtent?: boolean): ScaleTick[]; getMinorTicks(splitNumber: number): number[][]; /** * @param opt.precision If 'auto', use nice presision. * @param opt.pad returns 1.50 but not 1.5 if precision is 2. */ getLabel(data: ScaleTick, opt?: { precision?: 'auto' | number; pad?: boolean; }): string; /** * @param splitNumber By default `5`. */ calcNiceTicks(splitNumber?: number, minInterval?: number, maxInterval?: number): void; calcNiceExtent(opt: { splitNumber: number; fixMin?: boolean; fixMax?: boolean; minInterval?: number; maxInterval?: number; }): void; setNiceExtent(min: number, max: number): void; } export default IntervalScale;