// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
import type { Expression } from "./Expression";

/**
 * Represent a binary operation (two operands separated by an operator).
 *
 * This is the shared payload struct for all binary operator variants in the
 * [`Expression`] enum: arithmetic (`Add`, `Sub`, `Mul`, `Div`, `Mod`),
 * comparison (`Eq`, `Neq`, `Lt`, `Gt`, etc.), logical (`And`, `Or`),
 * bitwise, and dialect-specific operators. Comment fields enable round-trip
 * preservation of inline comments around operators.
 */
export type BinaryOp = { left: Expression, right: Expression, 
/**
 * Comments after the left operand (before the operator)
 */
left_comments: Array<string>, 
/**
 * Comments after the operator (before the right operand)
 */
operator_comments: Array<string>, 
/**
 * Comments after the right operand
 */
trailing_comments: Array<string>, };
