import * as IR from "../ir"; import * as Ast from "../generated/crochet-grammar"; import * as VM from "../vm"; import type { CrochetForNode } from "../targets/node"; export declare abstract class ReplExpr { abstract evaluate(vm: CrochetForNode, module: VM.CrochetModule, env: VM.Environment): Promise; } export declare class ReplDeclaration extends ReplExpr { readonly declarations: IR.Declaration[]; readonly source: string; readonly meta: Map; constructor(declarations: IR.Declaration[], source: string, meta: Map); evaluate(vm: CrochetForNode, module: VM.CrochetModule, env: VM.Environment): Promise; } export declare class ReplStatements extends ReplExpr { readonly block: IR.BasicBlock; readonly source: string; readonly meta: Map; constructor(block: IR.BasicBlock, source: string, meta: Map); evaluate(vm: CrochetForNode, module: VM.CrochetModule, env: VM.Environment): Promise; } export declare function lower(x: Ast.REPL, source: string): ReplExpr; export declare function compile(source: string): ReplExpr;