import { type HasExpr, internalExpr } from './Internal.js';
declare const brand: unique symbol;
export declare class Expr<Value = unknown> implements HasExpr {
    [brand]: Value;
    [internalExpr]: ExprInternal;
    constructor(data: ExprInternal);
}
export type ExprInternal = {
    type: 'field';
} | {
    type: 'entryField';
    name: string;
} | {
    type: 'call';
    method: string;
    args: Array<Expr>;
} | {
    type: 'value';
    value: unknown;
};
export {};
