import { RangeBase } from "./range-base.js";
import type { RangeLike } from "./range-like.js";
import type { CheckedBounds } from "./spec.js";
export declare abstract class NumberRange extends RangeBase<number> implements CheckedBounds, RangeLike<number> {
    readonly lower: number;
    isInt: boolean;
    readonly upper: number;
    abstract readonly discreteIntegers: number | undefined;
    readonly isEmpty: boolean;
    readonly isSingleton: boolean;
    readonly label: string;
    abstract readonly step: number;
    protected constructor(isLowerInc: boolean, lower: number, isInt: boolean, upper: number, isUpperInc: boolean);
    protected assertCanScaleFrom(other: NumberRange): void;
    compareTo(other: RangeLike<number>): number;
    encloses(other: RangeLike<number>): boolean;
    isType(obj: unknown): obj is number;
    abstract scaleValueFrom(value: number, other: NumberRange): number;
}
//# sourceMappingURL=number-range.d.ts.map