import { Expression } from "./Expression"; import { TypeExpression } from "./TypeExpression"; export declare function isFloatInterval(value: any): value is Interval; export declare function isIntegerInterval(value: any): value is Interval; export declare function isInfinite(value: number | bigint): boolean; export declare class Interval extends Expression { get sortOrder(): number; min: T; max: T; minExclusive: boolean; maxExclusive: boolean; constructor(min: T, max: T, minExclusive?: boolean, maxExclusive?: boolean); isPositive(): boolean; isNegative(): boolean; isUnconstrainedFloat(): boolean; isEmpty(): boolean; contains(i: T): boolean; overlapsOrAdjacentIfInteger(i: Interval): boolean; combine(i: Interval): Interval; get type(): "bigint" | "number"; toStringInternal(): string; toTerms(): Expression[]; toType(): TypeExpression; excludeValue(this: Interval, value: T): Interval[]; static fromAndTypeWithRemaining(type: Expression): [Interval[], Expression[]]; static fromAndType(type: Expression, remainingTerms?: Expression[]): Interval[]; static fromAndTerms(allTerms: Expression[]): Interval[]; static fromAndTerms(allTerms: Expression[], remainingTerms: Expression[]): Interval[]; static fromAndTerms(allTerms: Expression[], remainingTerms: Expression[], returnIfEmpty: true): Interval[]; static fromAndTermsInternal(allTerms: Expression[], remainingTerms?: Expression[], returnIfEmpty?: boolean): Interval | null; static fromOrType(type: Expression): Interval[]; }