import type { AstNodeBase, AstNodeLayout, BlockStatementNode, ExpressionUnion, VariableDeclaratorNode } from "@/types";
import type { ForStatementContext } 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 ForStatementNode extends AstNodeBase {
    kind: "FOR_STATEMENT";
    init: VariableDeclaratorNode;
    test: ExpressionUnion;
    update: ExpressionUnion;
    body: BlockStatementNode;
}
export declare const ForStatementNodeLayout: AstNodeLayout<ForStatementNode>[];
export declare const forStatementToAstNode: (instance: BattleScriptToAST, ctx: ForStatementContext) => ForStatementNode;
export declare const forStatementFromAstNode: (instance: BattleScriptFromAST, node: ForStatementNode, options?: VisitOptions) => string;
//# sourceMappingURL=ForStatementNode.d.ts.map