import type { Node } from "./types";
export type Expr = number | string | boolean | ([string, ...Expr[]] & {
    node?: Node;
});
type CompilerPass = (expr: Expr) => Expr;
interface Options {
    getMBQLName(expressionName: string): string | undefined;
    passes?: CompilerPass[];
}
export declare function compile(node: Node, opts: Options): Expr;
export {};
