library;
import self as self;
import "dart:core" as core;

class Operators extends core::Object {
  synthetic constructor •() → self::Operators
    ;
  operator +(dynamic other) → dynamic
    ;
  operator &(dynamic other) → dynamic
    ;
  operator ~() → dynamic
    ;
  operator |(dynamic other) → dynamic
    ;
  operator ^(dynamic other) → dynamic
    ;
  operator /(dynamic other) → dynamic
    ;
  operator ==(dynamic other) → dynamic
    ;
  operator >(dynamic other) → dynamic
    ;
  operator >=(dynamic other) → dynamic
    ;
  operator [](dynamic index) → dynamic
    ;
  operator []=(dynamic index, dynamic value) → void
    ;
  operator <<(dynamic other) → dynamic
    ;
  operator <(dynamic other) → dynamic
    ;
  operator <=(dynamic other) → dynamic
    ;
  operator *(dynamic other) → dynamic
    ;
  operator %(dynamic other) → dynamic
    ;
  operator >>(dynamic other) → dynamic
    ;
  operator -(dynamic other) → dynamic
    ;
  operator ~/(dynamic other) → dynamic
    ;
  operator unary-() → dynamic
    ;
}
static method main(dynamic arguments) → dynamic
  ;
