import { Operator, Space, Node, GroupNode } from "./primitives";
import { ExpressionNode } from "./expression";
import { NodeReducer } from "./node-reducer";
declare type OperationNodeMember = ExpressionNode | Operator | Space;
export interface OperationNode extends GroupNode<"operation"> {
    readonly members: Readonly<OperationNodeMember[]>;
    readonly operator: Operator;
    readonly left: ExpressionNode;
    readonly right: ExpressionNode;
}
export declare function isOperationNode(node: Node): node is OperationNode;
export declare const reduceOperations: NodeReducer;
export {};
