import { Context } from "./Context";
import { Token, TokenArgument, TokenCall, TokenProgram } from "./Lexer";
declare class Evaluator {
    static singleton: Evaluator;
    constructor();
    evaluate(ast: TokenProgram, ctx: Context): Promise<any>;
    visit(node: Token, ctx: Context): string | number | Promise<any>;
    visitCall(node: TokenCall, ctx: Context): Promise<any>;
    visitArgument(arg: TokenProgram | TokenArgument, ctx: Context, map?: boolean): Promise<any>;
    mapValues(values: any[]): Promise<any>;
}
export { Evaluator };
