import { ContractCondition, ProcedureBranch } from "../primitives"; import { State } from "../vm"; import { Declaration } from "./declaration"; import { SBlock } from "./statement"; import { Type } from "./type"; export declare abstract class REPLExpr { abstract evaluate(state: State): Promise; } export declare class REPLDeclarations extends REPLExpr { readonly declarations: Declaration[]; constructor(declarations: Declaration[]); evaluate(state: State): Promise; } export declare class REPLStatements extends REPLExpr { readonly statements: SBlock; constructor(statements: SBlock); evaluate(state: State): Promise; } export declare abstract class REPLCommand extends REPLExpr { } export declare class CmdRollback extends REPLCommand { readonly name: string; constructor(name: string); evaluate(state: State): Promise; } export declare class CmdHelpCommand extends REPLCommand { readonly name: string; readonly types: Type[]; constructor(name: string, types: Type[]); evaluate(state: State): Promise; describe_branch(x: ProcedureBranch): void; describe_contract(contracts: ContractCondition[], header: string): void; } export declare class CmdHelpType extends REPLCommand { readonly type: Type; constructor(type: Type); evaluate(state: State): Promise; }