/**
 * @param {string} expr
 * @param {Record<string, any>} globalObject
 * @param {ExpressionCompileContext} context
 *
 * @returns {ExpressionFunction}
 */
export default function createFunction(expr: string, globalObject?: Record<string, any>, context?: ExpressionCompileContext): ExpressionFunction;
/**
 * @param {string} expr
 * @returns {(event: UIEvent | import("./interactionEvent.js").WheelLikeEvent) => boolean}
 */
export function createEventFilterFunction(expr: string): (event: UIEvent | import("./interactionEvent.js").WheelLikeEvent) => boolean;
export type ExpressionProps = {
    fields: string[];
    globals: string[];
    code: string;
    scaleDependencies?: import("../paramRuntime/types.js").ParamRef<any>[];
};
export type ExpressionFunction = ((datum?: import("../data/flowNode.js").Datum) => any) & ExpressionProps;
export type ExpressionCompileContext = {
    resolveScaleResolution?: (channel: string) => import("../scales/scaleResolution.js").default | undefined;
};
export type ScaleHelperCompileContext = ExpressionCompileContext & {
    globalvar: string;
    globalObject: Record<string, any>;
    getScaleHelper: (kind: "scale" | "invert" | "domain" | "range", channel: string, resolution: import("../scales/scaleResolution.js").default) => {
        codeName: string;
        dependency: import("../paramRuntime/types.js").ParamRef<any>;
    };
};
//# sourceMappingURL=expression.d.ts.map