import type { BinaryExpression, BinaryOperator, Comment, SourceLocation } from 'estree'; import type { StepperExpression, StepperPattern } from '..'; import { StepperBaseNode } from '../../interface'; import type { RedexInfo } from '../..'; export declare class StepperBinaryExpression extends StepperBaseNode implements BinaryExpression { readonly operator: BinaryOperator; readonly left: StepperExpression; readonly right: StepperExpression; constructor(operator: BinaryOperator, left: StepperExpression, right: StepperExpression, leadingComments?: Comment[], trailingComments?: Comment[], loc?: SourceLocation | null, range?: [number, number]); static create(node: BinaryExpression): StepperBinaryExpression; isContractible(redex: RedexInfo): boolean; isOneStepPossible(redex: RedexInfo): boolean; contract(redex: RedexInfo): StepperExpression; oneStep(redex: RedexInfo): StepperExpression; substitute(id: StepperPattern, value: StepperExpression, redex: RedexInfo): StepperExpression; freeNames(): string[]; allNames(): string[]; rename(before: string, after: string): StepperExpression; }