import { IfcExpressionContext } from "../context/IfcExpressionContext.js"; import { ExprKind } from "./ExprKind.js"; import { ExprEvalError, ExprEvalResult } from "./ExprEvalResult.js"; import { ExprBase } from "./ExprBase.js"; import { Expr } from "./Expr.js"; export declare abstract class Expr1 extends ExprBase { readonly sub: Expr; protected constructor(exprKind: ExprKind, sub: Expr); getChildren(): Array>; protected abstract calculateResult(ctx: IfcExpressionContext, localCtx: Map, subExpressionResult: V): E | ExprEvalError; /** * Override to generate a more specific error result. * @param ctx * @param localCtx * @param subExpressionResult * @protected */ protected obtainResultForSubExpressionError(ctx: IfcExpressionContext, localCtx: Map, subExpressionResult: ExprEvalError): ExprEvalResult; private makeErrorOrCalculate; protected onBeforeRecusion(ctx: IfcExpressionContext, localCtx: Map): undefined | ExprEvalError; evaluate(ctx: IfcExpressionContext, localCtx: Map): ExprEvalResult; protected handleError(error: any, subResult: ExprEvalResult): ExprEvalError; }