import { Grammar, ASTNode } from './grammar.js'; export type Context = Record; export default class Expression { _grammar: Grammar; _exprStr: string; _ast: ASTNode | null; constructor(grammar: Grammar, exprStr: string); compile(): this; eval(context?: Context): Promise; evalAsString(context?: Context): Promise; evalAsNumber(context?: Context): Promise; evalAsBoolean(context?: Context): Promise; evalAsArray(context?: Context): Promise<(R extends (infer E)[] ? E : R)[]>; evalAsEnum(context: Context | undefined, allowedValues: readonly R[]): Promise; evalWithDefault(context: Context | undefined, defaultValue: R): Promise; _eval(context: Context): Promise; _getAst(): ASTNode | null; } //# sourceMappingURL=Expression.d.ts.map