import type { AstNodeBase, AstNodeLayout, EvaluateBranchUnion, ExpressionUnion } from "@/types";
import type { EvaluateStatementContext } from "@/services/grammar/ts/language/BattleScriptParser";
import type { BattleScriptToAST } from "@/services";
import type { BattleScriptFromAST } from "@/services/fullAst/BattleScriptFromAST";
import type { VisitOptions } from "@/types/VisitOptions";
export interface EvaluateStatementNode extends AstNodeBase {
    kind: "EVALUATE_STATEMENT";
    discriminants: ExpressionUnion[] | null;
    cases: EvaluateBranchUnion[];
}
export declare const EvaluateStatementNodeLayout: AstNodeLayout<EvaluateStatementNode>[];
export declare const evaluateStatementToAstNode: (instance: BattleScriptToAST, ctx: EvaluateStatementContext) => EvaluateStatementNode;
export declare const evaluateStatementFromAstNode: (instance: BattleScriptFromAST, node: EvaluateStatementNode, options?: VisitOptions) => string;
//# sourceMappingURL=EvaluateStatementNode.d.ts.map