import Scale from './Scale.js'; 
 | 
import { ScaleTick, Dictionary } from '../util/types.js'; 
 | 
declare class IntervalScale<SETTING extends Dictionary<unknown> = Dictionary<unknown>> extends Scale<SETTING> { 
 | 
    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; 
 |