import { IImmutableSet } from 'thaw-common-utilities.ts';
import { IPrologExpression } from './interfaces/iprolog-expression';
import { IPrologNumber } from './interfaces/iprolog-number';
import { ISubstitution } from './interfaces/isubstitution';
import { IPrologVariable } from './interfaces/ivariable';
export declare function isPrologIntegerLiteral(obj: unknown): obj is PrologIntegerLiteral;
export declare class PrologIntegerLiteral implements IPrologNumber {
    readonly typename: string;
    readonly Value: number;
    constructor(value: number);
    toString(): string;
    equals(other: unknown): boolean;
    FindBindingVariables(): IImmutableSet<IPrologVariable>;
    GetListOfBindingVariables(): IPrologVariable[];
    ContainsVariable(v: IPrologVariable): boolean;
    ApplySubstitution(substitution: ISubstitution): IPrologExpression;
    Unify(otherExpr: IPrologExpression): ISubstitution | undefined;
    get IsGround(): boolean;
    EvaluateToNumber(): IPrologNumber | undefined;
    ToInteger(): number;
    ToDouble(): number;
}
//# sourceMappingURL=prolog-integer-literal.d.ts.map