library /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;

import "dart:async";

class C<T extends core::Object? = dynamic> extends core::Object {
  field FutureOr<dynamic>? _#C#field1;
  field core::bool _#C#field1#isSet;
  field FutureOr<dynamic>? _#C#field2;
  field core::bool _#C#field2#isSet;
  covariant-by-class field FutureOr<self::C::T%>? _#C#field3;
  field core::bool _#C#field3#isSet;
  covariant-by-class field FutureOr<self::C::T?>? _#C#field4;
  field core::bool _#C#field4#isSet;
  covariant-by-class field FutureOr<self::C::T?>? _#C#field5;
  field core::bool _#C#field5#isSet;
  synthetic constructor •() → self::C<self::C::T%>
    ;
  get field1() → FutureOr<dynamic>;
  set field1(FutureOr<dynamic>field1#param) → void;
  get field2() → FutureOr<dynamic>?;
  set field2(FutureOr<dynamic>? field2#param) → void;
  get field3() → FutureOr<self::C::T%>;
  set field3(covariant-by-class FutureOr<self::C::T%>field3#param) → void;
  get field4() → FutureOr<self::C::T?>;
  set field4(covariant-by-class FutureOr<self::C::T?>field4#param) → void;
  get field5() → FutureOr<self::C::T?>?;
  set field5(covariant-by-class FutureOr<self::C::T?>? field5#param) → void;
  method method() → dynamic
    ;
}
static field FutureOr<dynamic>? _#field1;
static field core::bool _#field1#isSet;
static field FutureOr<dynamic>? _#field2;
static field core::bool _#field2#isSet;
static field FutureOr<dynamic>? _#field3;
static field core::bool _#field3#isSet;
static field FutureOr<core::int>? _#field4;
static field core::bool _#field4#isSet;
static field FutureOr<core::int?>? _#field5;
static field core::bool _#field5#isSet;
static field FutureOr<core::int?>? _#field6;
static field core::bool _#field6#isSet;
static method method1() → FutureOr<dynamic>
  ;
static method method2() → FutureOr<dynamic>?
  ;
static method method3() → FutureOr<dynamic>
  ;
static method method4() → FutureOr<core::int>
  ;
static method method5() → FutureOr<core::int?>
  ;
static method method6() → FutureOr<core::int?>?
  ;
static get field1() → FutureOr<dynamic>;
static set field1(FutureOr<dynamic>field1#param) → void;
static get field2() → FutureOr<dynamic>?;
static set field2(FutureOr<dynamic>? field2#param) → void;
static get field3() → FutureOr<dynamic>;
static set field3(FutureOr<dynamic>field3#param) → void;
static get field4() → FutureOr<core::int>;
static set field4(FutureOr<core::int>field4#param) → void;
static get field5() → FutureOr<core::int?>;
static set field5(FutureOr<core::int?>field5#param) → void;
static get field6() → FutureOr<core::int?>?;
static set field6(FutureOr<core::int?>? field6#param) → void;
static method main() → dynamic
  ;
