import type { AstNodeBase, AstNodeLayout, UpdateOperator } from "@/types";
import type { BattleScriptToAST } from "@/services";
import type { UpdateExpressionContext } from "@/services/grammar/ts/language/BattleScriptParser";
import type { BattleScriptFromAST } from "@/services/fullAst/BattleScriptFromAST";
import type { VisitOptions } from "@/types/VisitOptions";
export interface OptimisedUpdateExpressionNode extends AstNodeBase {
    kind: "OPTIMISED_UPDATE_EXPRESSION";
    argument: string;
    operator: UpdateOperator;
    prefix: boolean;
}
export declare const OptimisedUpdateExpressionNodeLayout: AstNodeLayout<OptimisedUpdateExpressionNode>[];
export declare const optimisedUpdateExpressionToAstNode: (instance: BattleScriptToAST, ctx: UpdateExpressionContext) => OptimisedUpdateExpressionNode;
export declare const optimisedUpdateExpressionFromAstNode: (instance: BattleScriptFromAST, node: OptimisedUpdateExpressionNode, options?: VisitOptions) => string;
//# sourceMappingURL=OptimisedUpdateExpressionNode.d.ts.map