import { Func } from "../Func.js";
import { ExpressionValue } from "../../../value/ExpressionValue.js";
import { ExprEvalResult } from "../../ExprEvalResult.js";
import { ExprType } from "../../../type/ExprType.js";
import { FunctionExpr } from "../FunctionExpr.js";
export declare class CompareMagnitudes extends Func {
    private static readonly KEY_LEFT;
    private static readonly KEY_RIGHT;
    private readonly comparisonFunction;
    constructor(name: string, cmp: (arg: number) => boolean);
    protected calculateResult(callingExpr: FunctionExpr, evaluatedArguments: Map<string, ExpressionValue>): ExprEvalResult<ExpressionValue>;
    getReturnType(argumentTypes: Array<ExprType>): ExprType;
}
