import type { AstNodeBase, AstNodeLayout, ExpressionUnion, LiteralStringNode } from "@/types";
import type { BattleScriptToAST } from "@/services";
import type { RequireStatementContext } from "@/services/grammar/ts/language/BattleScriptParser";
import type { BattleScriptFromAST } from "@/services/fullAst/BattleScriptFromAST";
import type { VisitOptions } from "@/types/VisitOptions";
export interface RequireStatementNode extends AstNodeBase {
    kind: "REQUIRE_STATEMENT";
    id: LiteralStringNode;
    comparator: string;
    value: ExpressionUnion;
    isTerminal: boolean;
}
export declare const RequireStatementNodeLayout: AstNodeLayout<RequireStatementNode>[];
export declare const requireStatementToAstNode: (instance: BattleScriptToAST, ctx: RequireStatementContext) => RequireStatementNode;
export declare const requireStatementFromAstNode: (instance: BattleScriptFromAST, node: RequireStatementNode, options?: VisitOptions) => string;
//# sourceMappingURL=RequireStatementNode.d.ts.map