/**
 * Expression Evaluator
 *
 * Evaluates @expr fields with built-in functions.
 * Supports: $if, $round, $concat, $len, $lower, $upper, $trim, $now, $uuid
 */
import type { Atom } from '../store/eav-store.js';
export interface EvalContext {
    [key: string]: unknown;
}
export declare class ExprEvaluator {
    private functions;
    constructor();
    /**
     * Evaluate an expression string against a context.
     */
    eval(expr: string, context: EvalContext): unknown;
    private evalFunction;
    private parseArgs;
    private if;
    private round;
    private concat;
    private len;
    private lower;
    private upper;
    private trim;
    private now;
    private uuid;
    private add;
    private sub;
    private mul;
    private div;
    private mod;
    private eq;
    private ne;
    private gt;
    private gte;
    private lt;
    private lte;
    private and;
    private or;
    private not;
    private coalesce;
    private contains;
    private startsWith;
    private endsWith;
}
/**
 * Evaluate an expression and return a valid Atom.
 */
export declare function evalExpr(expr: string, context: EvalContext): Atom;
//# sourceMappingURL=expr-evaluator.d.ts.map