import type { AstNodeBase, AstNodeLayout, ProtocolTypeNode } from "@/types";
import type { BattleScriptToAST } from "@/services";
import type { RuleStatementContext } from "@/services/grammar/ts/language/BattleScriptParser";
import type { BattleScriptFromAST } from "@/services/fullAst/BattleScriptFromAST";
import type { VisitOptions } from "@/types/VisitOptions";
export interface RuleStatementNode extends AstNodeBase {
    kind: "RULE_STATEMENT";
    type: ProtocolTypeNode;
    id: string;
    inspect: string;
    comparator: string;
    value: number;
    consequent: number;
    alternate: number;
}
export declare const RuleStatementNodeLayout: AstNodeLayout<RuleStatementNode>[];
export declare const ruleStatementToAstNode: (instance: BattleScriptToAST, ctx: RuleStatementContext) => RuleStatementNode;
export declare const ruleStatementFromAstNode: (instance: BattleScriptFromAST, node: RuleStatementNode, options?: VisitOptions) => string;
//# sourceMappingURL=RuleStatementNode.d.ts.map