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) → core::bool*
    ;
  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
  ;
