import { IfcExpressionContext } from "../context/IfcExpressionContext.js"; import { ExprBase } from "./ExprBase.js"; import { ExprKind } from "./ExprKind.js"; import { ExprEvalError, ExprEvalResult } from "./ExprEvalResult.js"; import { Expr } from "./Expr.js"; export declare abstract class Expr2LeftBeforeRight extends ExprBase { readonly left: Expr; readonly right: Expr; protected constructor(exprKind: ExprKind, left: Expr, right: Expr); getChildren(): Array>; protected abstract doEvaluate(ctx: IfcExpressionContext, leftOperand: L, rightOperand: R): E | ExprEvalError; protected abstract handleLeftResult(leftResult: ExprEvalResult): any; evaluate(ctx: IfcExpressionContext, localCtx: Map): ExprEvalResult; protected handleError(error: any, leftResult: ExprEvalResult, rightResult: ExprEvalResult): ExprEvalError; }