import { Expr2 } from "../Expr2.js";
import { Expr } from "../Expr.js";
import { IfcExpressionContext } from "../../context/IfcExpressionContext.js";
import { NumericValue } from "../../value/NumericValue.js";
import { StringValue } from "../../value/StringValue.js";
import { ExprEvalError } from "../ExprEvalResult.js";
import { ExprType } from "../../type/ExprType.js";
import { ExprStringBuilder } from "../ExprStringBuilder.js";
export declare class PlusOrConcatExpr extends Expr2<NumericValue | StringValue, NumericValue | StringValue, NumericValue | StringValue> {
    constructor(left: Expr<NumericValue | StringValue>, right: Expr<NumericValue | StringValue>);
    calculateResult(ctx: IfcExpressionContext, localCtx: Map<string, any>, leftResult: NumericValue | StringValue, rightResult: NumericValue | StringValue): NumericValue | StringValue | ExprEvalError;
    protected buildExprString(builder: ExprStringBuilder): void;
    getType(): ExprType;
}
