#import @protocol Proto - (id)requirement; @end @interface Gizmo : NSObject @property (nonatomic)NSString *stringProperty; - (NSString*) modifyString: (NSString *)str withNumber: (NSInteger) num withFoobar: (id)foobar; - (id) doSomething : (NSArray*) arr; @end @interface Gizmo2> : NSObject - (NSString*) doSomething; @end @protocol FooProto @end @protocol SomeGenericClass @property (nonatomic, nullable, readonly, strong) NSString *version; - (NSString*) doSomething; - (id) doSomething2 : (NSArray*) arr; @end NS_ASSUME_NONNULL_BEGIN @protocol Treeish - (nullable NSArray *) treeishChildren; @end NS_ASSUME_NONNULL_END