import type { TreeInterpreter } from './TreeInterpreter.js';
import type { JSONObject, Node } from './types.js';
/**
 * Apply a JMESPath expression to a JSON value.
 */
declare class Expression {
    #private;
    constructor(expression: Node, interpreter: TreeInterpreter);
    /**
     * Evaluate the expression against a JSON value.
     *
     * @param value The JSON value to apply the expression to.
     * @param node The node to visit.
     * @returns The result of applying the expression to the value.
     */
    visit(value: JSONObject, node?: Node): JSONObject;
}
export { Expression };
//# sourceMappingURL=Expression.d.ts.map