import type { AstNodeBase, AstNodeLayout, ExpressionUnion, OptimisedAssignmentExpressionNode, TokenUnion } from "@/types";
import type { BattleScriptToAST } from "@/services";
import type { AssignmentExpressionContext } from "@/services/grammar/ts/language/BattleScriptParser";
import type { BattleScriptFromAST } from "@/services/fullAst/BattleScriptFromAST";
import type { VisitOptions } from "@/types/VisitOptions";
export interface AssignmentExpressionNode extends AstNodeBase {
    kind: "ASSIGNMENT_EXPRESSION";
    left: TokenUnion;
    operator: "=" | "+=" | "-=";
    right: ExpressionUnion;
}
export declare const AssignmentExpressionNodeLayout: AstNodeLayout<AssignmentExpressionNode>[];
export declare const assignmentExpressionToAstNode: (instance: BattleScriptToAST, ctx: AssignmentExpressionContext) => AssignmentExpressionNode | OptimisedAssignmentExpressionNode;
export declare const assignmentExpressionFromAstNode: (instance: BattleScriptFromAST, node: AssignmentExpressionNode, options?: VisitOptions) => string;
//# sourceMappingURL=AssignmentExpressionNode.d.ts.map