import type { AstNodeBase, AstNodeLayout, BinaryExpressionNode, BlockStatementNode } from "@/types";
import type { BattleScriptToAST } from "@/services";
import type { IfStatementContext } from "@/services/grammar/ts/language/BattleScriptParser";
import type { BattleScriptFromAST } from "@/services/fullAst/BattleScriptFromAST";
import type { VisitOptions } from "@/types/VisitOptions";
export interface IfStatementNode extends AstNodeBase {
    kind: "IF_STATEMENT";
    test: BinaryExpressionNode;
    consequent: BlockStatementNode;
    alternate: BlockStatementNode | IfStatementNode | null;
}
export declare const IfStatementNodeLayout: AstNodeLayout<IfStatementNode>[];
export declare const ifStatementToAstNode: (instance: BattleScriptToAST, ctx: IfStatementContext) => IfStatementNode;
export declare const ifStatementFromAstNode: (instance: BattleScriptFromAST, node: IfStatementNode, options?: VisitOptions) => string;
//# sourceMappingURL=IfStatementNode.d.ts.map