// Generated by the protocol buffer compiler.  DO NOT EDIT!

#import <ProtocolBuffers/ProtocolBuffers.h>

// @@protoc_insertion_point(imports)

@class PBDescriptorProto;
@class PBDescriptorProtoBuilder;
@class PBDescriptorProtoExtensionRange;
@class PBDescriptorProtoExtensionRangeBuilder;
@class PBEnumDescriptorProto;
@class PBEnumDescriptorProtoBuilder;
@class PBEnumOptions;
@class PBEnumOptionsBuilder;
@class PBEnumValueDescriptorProto;
@class PBEnumValueDescriptorProtoBuilder;
@class PBEnumValueOptions;
@class PBEnumValueOptionsBuilder;
@class PBFieldDescriptorProto;
@class PBFieldDescriptorProtoBuilder;
@class PBFieldOptions;
@class PBFieldOptionsBuilder;
@class PBFileDescriptorProto;
@class PBFileDescriptorProtoBuilder;
@class PBFileDescriptorSet;
@class PBFileDescriptorSetBuilder;
@class PBFileOptions;
@class PBFileOptionsBuilder;
@class PBMessageOptions;
@class PBMessageOptionsBuilder;
@class PBMethodDescriptorProto;
@class PBMethodDescriptorProtoBuilder;
@class PBMethodOptions;
@class PBMethodOptionsBuilder;
@class PBOneofDescriptorProto;
@class PBOneofDescriptorProtoBuilder;
@class PBServiceDescriptorProto;
@class PBServiceDescriptorProtoBuilder;
@class PBServiceOptions;
@class PBServiceOptionsBuilder;
@class PBSourceCodeInfo;
@class PBSourceCodeInfoBuilder;
@class PBSourceCodeInfoLocation;
@class PBSourceCodeInfoLocationBuilder;
@class PBUninterpretedOption;
@class PBUninterpretedOptionBuilder;
@class PBUninterpretedOptionNamePart;
@class PBUninterpretedOptionNamePartBuilder;


typedef NS_ENUM(SInt32, PBFieldDescriptorProtoType) {
  PBFieldDescriptorProtoTypeTypeDouble = 1,
  PBFieldDescriptorProtoTypeTypeFloat = 2,
  PBFieldDescriptorProtoTypeTypeInt64 = 3,
  PBFieldDescriptorProtoTypeTypeUint64 = 4,
  PBFieldDescriptorProtoTypeTypeInt32 = 5,
  PBFieldDescriptorProtoTypeTypeFixed64 = 6,
  PBFieldDescriptorProtoTypeTypeFixed32 = 7,
  PBFieldDescriptorProtoTypeTypeBool = 8,
  PBFieldDescriptorProtoTypeTypeString = 9,
  PBFieldDescriptorProtoTypeTypeGroup = 10,
  PBFieldDescriptorProtoTypeTypeMessage = 11,
  PBFieldDescriptorProtoTypeTypeBytes = 12,
  PBFieldDescriptorProtoTypeTypeUint32 = 13,
  PBFieldDescriptorProtoTypeTypeEnum = 14,
  PBFieldDescriptorProtoTypeTypeSfixed32 = 15,
  PBFieldDescriptorProtoTypeTypeSfixed64 = 16,
  PBFieldDescriptorProtoTypeTypeSint32 = 17,
  PBFieldDescriptorProtoTypeTypeSint64 = 18,
};

BOOL PBFieldDescriptorProtoTypeIsValidValue(PBFieldDescriptorProtoType value);
NSString *NSStringFromPBFieldDescriptorProtoType(PBFieldDescriptorProtoType value);

typedef NS_ENUM(SInt32, PBFieldDescriptorProtoLabel) {
  PBFieldDescriptorProtoLabelLabelOptional = 1,
  PBFieldDescriptorProtoLabelLabelRequired = 2,
  PBFieldDescriptorProtoLabelLabelRepeated = 3,
};

BOOL PBFieldDescriptorProtoLabelIsValidValue(PBFieldDescriptorProtoLabel value);
NSString *NSStringFromPBFieldDescriptorProtoLabel(PBFieldDescriptorProtoLabel value);

typedef NS_ENUM(SInt32, PBFileOptionsOptimizeMode) {
  PBFileOptionsOptimizeModeSpeed = 1,
  PBFileOptionsOptimizeModeCodeSize = 2,
  PBFileOptionsOptimizeModeLiteRuntime = 3,
};

BOOL PBFileOptionsOptimizeModeIsValidValue(PBFileOptionsOptimizeMode value);
NSString *NSStringFromPBFileOptionsOptimizeMode(PBFileOptionsOptimizeMode value);

typedef NS_ENUM(SInt32, PBFieldOptionsCType) {
  PBFieldOptionsCTypeString = 0,
  PBFieldOptionsCTypeCord = 1,
  PBFieldOptionsCTypeStringPiece = 2,
};

BOOL PBFieldOptionsCTypeIsValidValue(PBFieldOptionsCType value);
NSString *NSStringFromPBFieldOptionsCType(PBFieldOptionsCType value);


@interface PBDescriptorRoot : NSObject {
}
+ (PBExtensionRegistry*) extensionRegistry;
+ (void) registerAllExtensions:(PBMutableExtensionRegistry*) registry;
@end

#define FileDescriptorSet_file @"file"
@interface PBFileDescriptorSet : PBGeneratedMessage<GeneratedMessageProtocol> {
@private
  NSMutableArray * fileArray;
}
@property (readonly, strong) NSArray<PBFileDescriptorProto*> * file;
- (PBFileDescriptorProto*)fileAtIndex:(NSUInteger)index;

+ (instancetype) defaultInstance;
- (instancetype) defaultInstance;

- (BOOL) isInitialized;
- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output;
- (PBFileDescriptorSetBuilder*) builder;
+ (PBFileDescriptorSetBuilder*) builder;
+ (PBFileDescriptorSetBuilder*) builderWithPrototype:(PBFileDescriptorSet*) prototype;
- (PBFileDescriptorSetBuilder*) toBuilder;

+ (PBFileDescriptorSet*) parseFromData:(NSData*) data;
+ (PBFileDescriptorSet*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
+ (PBFileDescriptorSet*) parseFromInputStream:(NSInputStream*) input;
+ (PBFileDescriptorSet*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
+ (PBFileDescriptorSet*) parseFromCodedInputStream:(PBCodedInputStream*) input;
+ (PBFileDescriptorSet*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
@end

@interface PBFileDescriptorSetBuilder : PBGeneratedMessageBuilder {
@private
  PBFileDescriptorSet* resultFileDescriptorSet;
}

- (PBFileDescriptorSet*) defaultInstance;

- (PBFileDescriptorSetBuilder*) clear;
- (PBFileDescriptorSetBuilder*) clone;

- (PBFileDescriptorSet*) build;
- (PBFileDescriptorSet*) buildPartial;

- (PBFileDescriptorSetBuilder*) mergeFrom:(PBFileDescriptorSet*) other;
- (PBFileDescriptorSetBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input;
- (PBFileDescriptorSetBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;

- (NSMutableArray<PBFileDescriptorProto*> *)file;
- (PBFileDescriptorProto*)fileAtIndex:(NSUInteger)index;
- (PBFileDescriptorSetBuilder *)addFile:(PBFileDescriptorProto*)value;
- (PBFileDescriptorSetBuilder *)setFileArray:(NSArray<PBFileDescriptorProto*> *)array;
- (PBFileDescriptorSetBuilder *)clearFile;
@end

#define FileDescriptorProto_name @"name"
#define FileDescriptorProto_package @"package"
#define FileDescriptorProto_dependency @"dependency"
#define FileDescriptorProto_public_dependency @"publicDependency"
#define FileDescriptorProto_weak_dependency @"weakDependency"
#define FileDescriptorProto_message_type @"messageType"
#define FileDescriptorProto_enum_type @"enumType"
#define FileDescriptorProto_service @"service"
#define FileDescriptorProto_extension @"extension"
#define FileDescriptorProto_options @"options"
#define FileDescriptorProto_source_code_info @"sourceCodeInfo"
@interface PBFileDescriptorProto : PBGeneratedMessage<GeneratedMessageProtocol> {
@private
  BOOL hasName_:1;
  BOOL hasPackage_:1;
  BOOL hasOptions_:1;
  BOOL hasSourceCodeInfo_:1;
  NSString* name;
  NSString* package;
  PBFileOptions* options;
  PBSourceCodeInfo* sourceCodeInfo;
  PBAppendableArray * publicDependencyArray;
  PBAppendableArray * weakDependencyArray;
  NSMutableArray * dependencyArray;
  NSMutableArray * messageTypeArray;
  NSMutableArray * enumTypeArray;
  NSMutableArray * serviceArray;
  NSMutableArray * extensionArray;
}
- (BOOL) hasName;
- (BOOL) hasPackage;
- (BOOL) hasOptions;
- (BOOL) hasSourceCodeInfo;
@property (readonly, strong) NSString* name;
@property (readonly, strong) NSString* package;
@property (readonly, strong) NSArray * dependency;
@property (readonly, strong) PBArray * publicDependency;
@property (readonly, strong) PBArray * weakDependency;
@property (readonly, strong) NSArray<PBDescriptorProto*> * messageType;
@property (readonly, strong) NSArray<PBEnumDescriptorProto*> * enumType;
@property (readonly, strong) NSArray<PBServiceDescriptorProto*> * service;
@property (readonly, strong) NSArray<PBFieldDescriptorProto*> * extension;
@property (readonly, strong) PBFileOptions* options;
@property (readonly, strong) PBSourceCodeInfo* sourceCodeInfo;
- (NSString*)dependencyAtIndex:(NSUInteger)index;
- (SInt32)publicDependencyAtIndex:(NSUInteger)index;
- (SInt32)weakDependencyAtIndex:(NSUInteger)index;
- (PBDescriptorProto*)messageTypeAtIndex:(NSUInteger)index;
- (PBEnumDescriptorProto*)enumTypeAtIndex:(NSUInteger)index;
- (PBServiceDescriptorProto*)serviceAtIndex:(NSUInteger)index;
- (PBFieldDescriptorProto*)extensionAtIndex:(NSUInteger)index;

+ (instancetype) defaultInstance;
- (instancetype) defaultInstance;

- (BOOL) isInitialized;
- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output;
- (PBFileDescriptorProtoBuilder*) builder;
+ (PBFileDescriptorProtoBuilder*) builder;
+ (PBFileDescriptorProtoBuilder*) builderWithPrototype:(PBFileDescriptorProto*) prototype;
- (PBFileDescriptorProtoBuilder*) toBuilder;

+ (PBFileDescriptorProto*) parseFromData:(NSData*) data;
+ (PBFileDescriptorProto*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
+ (PBFileDescriptorProto*) parseFromInputStream:(NSInputStream*) input;
+ (PBFileDescriptorProto*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
+ (PBFileDescriptorProto*) parseFromCodedInputStream:(PBCodedInputStream*) input;
+ (PBFileDescriptorProto*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
@end

@interface PBFileDescriptorProtoBuilder : PBGeneratedMessageBuilder {
@private
  PBFileDescriptorProto* resultFileDescriptorProto;
}

- (PBFileDescriptorProto*) defaultInstance;

- (PBFileDescriptorProtoBuilder*) clear;
- (PBFileDescriptorProtoBuilder*) clone;

- (PBFileDescriptorProto*) build;
- (PBFileDescriptorProto*) buildPartial;

- (PBFileDescriptorProtoBuilder*) mergeFrom:(PBFileDescriptorProto*) other;
- (PBFileDescriptorProtoBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input;
- (PBFileDescriptorProtoBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;

- (BOOL) hasName;
- (NSString*) name;
- (PBFileDescriptorProtoBuilder*) setName:(NSString*) value;
- (PBFileDescriptorProtoBuilder*) clearName;

- (BOOL) hasPackage;
- (NSString*) package;
- (PBFileDescriptorProtoBuilder*) setPackage:(NSString*) value;
- (PBFileDescriptorProtoBuilder*) clearPackage;

- (NSMutableArray *)dependency;
- (NSString*)dependencyAtIndex:(NSUInteger)index;
- (PBFileDescriptorProtoBuilder *)addDependency:(NSString*)value;
- (PBFileDescriptorProtoBuilder *)setDependencyArray:(NSArray *)array;
- (PBFileDescriptorProtoBuilder *)clearDependency;

- (PBAppendableArray *)publicDependency;
- (SInt32)publicDependencyAtIndex:(NSUInteger)index;
- (PBFileDescriptorProtoBuilder *)addPublicDependency:(SInt32)value;
- (PBFileDescriptorProtoBuilder *)setPublicDependencyArray:(NSArray *)array;
- (PBFileDescriptorProtoBuilder *)setPublicDependencyValues:(const SInt32 *)values count:(NSUInteger)count;
- (PBFileDescriptorProtoBuilder *)clearPublicDependency;

- (PBAppendableArray *)weakDependency;
- (SInt32)weakDependencyAtIndex:(NSUInteger)index;
- (PBFileDescriptorProtoBuilder *)addWeakDependency:(SInt32)value;
- (PBFileDescriptorProtoBuilder *)setWeakDependencyArray:(NSArray *)array;
- (PBFileDescriptorProtoBuilder *)setWeakDependencyValues:(const SInt32 *)values count:(NSUInteger)count;
- (PBFileDescriptorProtoBuilder *)clearWeakDependency;

- (NSMutableArray<PBDescriptorProto*> *)messageType;
- (PBDescriptorProto*)messageTypeAtIndex:(NSUInteger)index;
- (PBFileDescriptorProtoBuilder *)addMessageType:(PBDescriptorProto*)value;
- (PBFileDescriptorProtoBuilder *)setMessageTypeArray:(NSArray<PBDescriptorProto*> *)array;
- (PBFileDescriptorProtoBuilder *)clearMessageType;

- (NSMutableArray<PBEnumDescriptorProto*> *)enumType;
- (PBEnumDescriptorProto*)enumTypeAtIndex:(NSUInteger)index;
- (PBFileDescriptorProtoBuilder *)addEnumType:(PBEnumDescriptorProto*)value;
- (PBFileDescriptorProtoBuilder *)setEnumTypeArray:(NSArray<PBEnumDescriptorProto*> *)array;
- (PBFileDescriptorProtoBuilder *)clearEnumType;

- (NSMutableArray<PBServiceDescriptorProto*> *)service;
- (PBServiceDescriptorProto*)serviceAtIndex:(NSUInteger)index;
- (PBFileDescriptorProtoBuilder *)addService:(PBServiceDescriptorProto*)value;
- (PBFileDescriptorProtoBuilder *)setServiceArray:(NSArray<PBServiceDescriptorProto*> *)array;
- (PBFileDescriptorProtoBuilder *)clearService;

- (NSMutableArray<PBFieldDescriptorProto*> *)extension;
- (PBFieldDescriptorProto*)extensionAtIndex:(NSUInteger)index;
- (PBFileDescriptorProtoBuilder *)addExtension:(PBFieldDescriptorProto*)value;
- (PBFileDescriptorProtoBuilder *)setExtensionArray:(NSArray<PBFieldDescriptorProto*> *)array;
- (PBFileDescriptorProtoBuilder *)clearExtension;

- (BOOL) hasOptions;
- (PBFileOptions*) options;
- (PBFileDescriptorProtoBuilder*) setOptions:(PBFileOptions*) value;
- (PBFileDescriptorProtoBuilder*) setOptionsBuilder:(PBFileOptionsBuilder*) builderForValue;
- (PBFileDescriptorProtoBuilder*) mergeOptions:(PBFileOptions*) value;
- (PBFileDescriptorProtoBuilder*) clearOptions;

- (BOOL) hasSourceCodeInfo;
- (PBSourceCodeInfo*) sourceCodeInfo;
- (PBFileDescriptorProtoBuilder*) setSourceCodeInfo:(PBSourceCodeInfo*) value;
- (PBFileDescriptorProtoBuilder*) setSourceCodeInfoBuilder:(PBSourceCodeInfoBuilder*) builderForValue;
- (PBFileDescriptorProtoBuilder*) mergeSourceCodeInfo:(PBSourceCodeInfo*) value;
- (PBFileDescriptorProtoBuilder*) clearSourceCodeInfo;
@end

#define DescriptorProto_name @"name"
#define DescriptorProto_field @"field"
#define DescriptorProto_extension @"extension"
#define DescriptorProto_nested_type @"nestedType"
#define DescriptorProto_enum_type @"enumType"
#define DescriptorProto_extension_range @"extensionRange"
#define DescriptorProto_oneof_decl @"oneofDecl"
#define DescriptorProto_options @"options"
@interface PBDescriptorProto : PBGeneratedMessage<GeneratedMessageProtocol> {
@private
  BOOL hasName_:1;
  BOOL hasOptions_:1;
  NSString* name;
  PBMessageOptions* options;
  NSMutableArray * fieldArray;
  NSMutableArray * extensionArray;
  NSMutableArray * nestedTypeArray;
  NSMutableArray * enumTypeArray;
  NSMutableArray * extensionRangeArray;
  NSMutableArray * oneofDeclArray;
}
- (BOOL) hasName;
- (BOOL) hasOptions;
@property (readonly, strong) NSString* name;
@property (readonly, strong) NSArray<PBFieldDescriptorProto*> * field;
@property (readonly, strong) NSArray<PBFieldDescriptorProto*> * extension;
@property (readonly, strong) NSArray<PBDescriptorProto*> * nestedType;
@property (readonly, strong) NSArray<PBEnumDescriptorProto*> * enumType;
@property (readonly, strong) NSArray<PBDescriptorProtoExtensionRange*> * extensionRange;
@property (readonly, strong) NSArray<PBOneofDescriptorProto*> * oneofDecl;
@property (readonly, strong) PBMessageOptions* options;
- (PBFieldDescriptorProto*)fieldAtIndex:(NSUInteger)index;
- (PBFieldDescriptorProto*)extensionAtIndex:(NSUInteger)index;
- (PBDescriptorProto*)nestedTypeAtIndex:(NSUInteger)index;
- (PBEnumDescriptorProto*)enumTypeAtIndex:(NSUInteger)index;
- (PBDescriptorProtoExtensionRange*)extensionRangeAtIndex:(NSUInteger)index;
- (PBOneofDescriptorProto*)oneofDeclAtIndex:(NSUInteger)index;

+ (instancetype) defaultInstance;
- (instancetype) defaultInstance;

- (BOOL) isInitialized;
- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output;
- (PBDescriptorProtoBuilder*) builder;
+ (PBDescriptorProtoBuilder*) builder;
+ (PBDescriptorProtoBuilder*) builderWithPrototype:(PBDescriptorProto*) prototype;
- (PBDescriptorProtoBuilder*) toBuilder;

+ (PBDescriptorProto*) parseFromData:(NSData*) data;
+ (PBDescriptorProto*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
+ (PBDescriptorProto*) parseFromInputStream:(NSInputStream*) input;
+ (PBDescriptorProto*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
+ (PBDescriptorProto*) parseFromCodedInputStream:(PBCodedInputStream*) input;
+ (PBDescriptorProto*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
@end

#define ExtensionRange_start @"start"
#define ExtensionRange_end @"end"
@interface PBDescriptorProtoExtensionRange : PBGeneratedMessage<GeneratedMessageProtocol> {
@private
  BOOL hasStart_:1;
  BOOL hasEnd_:1;
  SInt32 start;
  SInt32 end;
}
- (BOOL) hasStart;
- (BOOL) hasEnd;
@property (readonly) SInt32 start;
@property (readonly) SInt32 end;

+ (instancetype) defaultInstance;
- (instancetype) defaultInstance;

- (BOOL) isInitialized;
- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output;
- (PBDescriptorProtoExtensionRangeBuilder*) builder;
+ (PBDescriptorProtoExtensionRangeBuilder*) builder;
+ (PBDescriptorProtoExtensionRangeBuilder*) builderWithPrototype:(PBDescriptorProtoExtensionRange*) prototype;
- (PBDescriptorProtoExtensionRangeBuilder*) toBuilder;

+ (PBDescriptorProtoExtensionRange*) parseFromData:(NSData*) data;
+ (PBDescriptorProtoExtensionRange*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
+ (PBDescriptorProtoExtensionRange*) parseFromInputStream:(NSInputStream*) input;
+ (PBDescriptorProtoExtensionRange*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
+ (PBDescriptorProtoExtensionRange*) parseFromCodedInputStream:(PBCodedInputStream*) input;
+ (PBDescriptorProtoExtensionRange*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
@end

@interface PBDescriptorProtoExtensionRangeBuilder : PBGeneratedMessageBuilder {
@private
  PBDescriptorProtoExtensionRange* resultExtensionRange;
}

- (PBDescriptorProtoExtensionRange*) defaultInstance;

- (PBDescriptorProtoExtensionRangeBuilder*) clear;
- (PBDescriptorProtoExtensionRangeBuilder*) clone;

- (PBDescriptorProtoExtensionRange*) build;
- (PBDescriptorProtoExtensionRange*) buildPartial;

- (PBDescriptorProtoExtensionRangeBuilder*) mergeFrom:(PBDescriptorProtoExtensionRange*) other;
- (PBDescriptorProtoExtensionRangeBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input;
- (PBDescriptorProtoExtensionRangeBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;

- (BOOL) hasStart;
- (SInt32) start;
- (PBDescriptorProtoExtensionRangeBuilder*) setStart:(SInt32) value;
- (PBDescriptorProtoExtensionRangeBuilder*) clearStart;

- (BOOL) hasEnd;
- (SInt32) end;
- (PBDescriptorProtoExtensionRangeBuilder*) setEnd:(SInt32) value;
- (PBDescriptorProtoExtensionRangeBuilder*) clearEnd;
@end

@interface PBDescriptorProtoBuilder : PBGeneratedMessageBuilder {
@private
  PBDescriptorProto* resultDescriptorProto;
}

- (PBDescriptorProto*) defaultInstance;

- (PBDescriptorProtoBuilder*) clear;
- (PBDescriptorProtoBuilder*) clone;

- (PBDescriptorProto*) build;
- (PBDescriptorProto*) buildPartial;

- (PBDescriptorProtoBuilder*) mergeFrom:(PBDescriptorProto*) other;
- (PBDescriptorProtoBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input;
- (PBDescriptorProtoBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;

- (BOOL) hasName;
- (NSString*) name;
- (PBDescriptorProtoBuilder*) setName:(NSString*) value;
- (PBDescriptorProtoBuilder*) clearName;

- (NSMutableArray<PBFieldDescriptorProto*> *)field;
- (PBFieldDescriptorProto*)fieldAtIndex:(NSUInteger)index;
- (PBDescriptorProtoBuilder *)addField:(PBFieldDescriptorProto*)value;
- (PBDescriptorProtoBuilder *)setFieldArray:(NSArray<PBFieldDescriptorProto*> *)array;
- (PBDescriptorProtoBuilder *)clearField;

- (NSMutableArray<PBFieldDescriptorProto*> *)extension;
- (PBFieldDescriptorProto*)extensionAtIndex:(NSUInteger)index;
- (PBDescriptorProtoBuilder *)addExtension:(PBFieldDescriptorProto*)value;
- (PBDescriptorProtoBuilder *)setExtensionArray:(NSArray<PBFieldDescriptorProto*> *)array;
- (PBDescriptorProtoBuilder *)clearExtension;

- (NSMutableArray<PBDescriptorProto*> *)nestedType;
- (PBDescriptorProto*)nestedTypeAtIndex:(NSUInteger)index;
- (PBDescriptorProtoBuilder *)addNestedType:(PBDescriptorProto*)value;
- (PBDescriptorProtoBuilder *)setNestedTypeArray:(NSArray<PBDescriptorProto*> *)array;
- (PBDescriptorProtoBuilder *)clearNestedType;

- (NSMutableArray<PBEnumDescriptorProto*> *)enumType;
- (PBEnumDescriptorProto*)enumTypeAtIndex:(NSUInteger)index;
- (PBDescriptorProtoBuilder *)addEnumType:(PBEnumDescriptorProto*)value;
- (PBDescriptorProtoBuilder *)setEnumTypeArray:(NSArray<PBEnumDescriptorProto*> *)array;
- (PBDescriptorProtoBuilder *)clearEnumType;

- (NSMutableArray<PBDescriptorProtoExtensionRange*> *)extensionRange;
- (PBDescriptorProtoExtensionRange*)extensionRangeAtIndex:(NSUInteger)index;
- (PBDescriptorProtoBuilder *)addExtensionRange:(PBDescriptorProtoExtensionRange*)value;
- (PBDescriptorProtoBuilder *)setExtensionRangeArray:(NSArray<PBDescriptorProtoExtensionRange*> *)array;
- (PBDescriptorProtoBuilder *)clearExtensionRange;

- (NSMutableArray<PBOneofDescriptorProto*> *)oneofDecl;
- (PBOneofDescriptorProto*)oneofDeclAtIndex:(NSUInteger)index;
- (PBDescriptorProtoBuilder *)addOneofDecl:(PBOneofDescriptorProto*)value;
- (PBDescriptorProtoBuilder *)setOneofDeclArray:(NSArray<PBOneofDescriptorProto*> *)array;
- (PBDescriptorProtoBuilder *)clearOneofDecl;

- (BOOL) hasOptions;
- (PBMessageOptions*) options;
- (PBDescriptorProtoBuilder*) setOptions:(PBMessageOptions*) value;
- (PBDescriptorProtoBuilder*) setOptionsBuilder:(PBMessageOptionsBuilder*) builderForValue;
- (PBDescriptorProtoBuilder*) mergeOptions:(PBMessageOptions*) value;
- (PBDescriptorProtoBuilder*) clearOptions;
@end

#define FieldDescriptorProto_name @"name"
#define FieldDescriptorProto_number @"number"
#define FieldDescriptorProto_label @"label"
#define FieldDescriptorProto_type @"type"
#define FieldDescriptorProto_type_name @"typeName"
#define FieldDescriptorProto_extendee @"extendee"
#define FieldDescriptorProto_default_value @"defaultValue"
#define FieldDescriptorProto_oneof_index @"oneofIndex"
#define FieldDescriptorProto_options @"options"
@interface PBFieldDescriptorProto : PBGeneratedMessage<GeneratedMessageProtocol> {
@private
  BOOL hasNumber_:1;
  BOOL hasOneofIndex_:1;
  BOOL hasName_:1;
  BOOL hasTypeName_:1;
  BOOL hasExtendee_:1;
  BOOL hasDefaultValue_:1;
  BOOL hasOptions_:1;
  BOOL hasLabel_:1;
  BOOL hasType_:1;
  SInt32 number;
  SInt32 oneofIndex;
  NSString* name;
  NSString* typeName;
  NSString* extendee;
  NSString* defaultValue;
  PBFieldOptions* options;
  PBFieldDescriptorProtoLabel label;
  PBFieldDescriptorProtoType type;
}
- (BOOL) hasName;
- (BOOL) hasNumber;
- (BOOL) hasLabel;
- (BOOL) hasType;
- (BOOL) hasTypeName;
- (BOOL) hasExtendee;
- (BOOL) hasDefaultValue;
- (BOOL) hasOneofIndex;
- (BOOL) hasOptions;
@property (readonly, strong) NSString* name;
@property (readonly) SInt32 number;
@property (readonly) PBFieldDescriptorProtoLabel label;
@property (readonly) PBFieldDescriptorProtoType type;
@property (readonly, strong) NSString* typeName;
@property (readonly, strong) NSString* extendee;
@property (readonly, strong) NSString* defaultValue;
@property (readonly) SInt32 oneofIndex;
@property (readonly, strong) PBFieldOptions* options;

+ (instancetype) defaultInstance;
- (instancetype) defaultInstance;

- (BOOL) isInitialized;
- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output;
- (PBFieldDescriptorProtoBuilder*) builder;
+ (PBFieldDescriptorProtoBuilder*) builder;
+ (PBFieldDescriptorProtoBuilder*) builderWithPrototype:(PBFieldDescriptorProto*) prototype;
- (PBFieldDescriptorProtoBuilder*) toBuilder;

+ (PBFieldDescriptorProto*) parseFromData:(NSData*) data;
+ (PBFieldDescriptorProto*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
+ (PBFieldDescriptorProto*) parseFromInputStream:(NSInputStream*) input;
+ (PBFieldDescriptorProto*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
+ (PBFieldDescriptorProto*) parseFromCodedInputStream:(PBCodedInputStream*) input;
+ (PBFieldDescriptorProto*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
@end

@interface PBFieldDescriptorProtoBuilder : PBGeneratedMessageBuilder {
@private
  PBFieldDescriptorProto* resultFieldDescriptorProto;
}

- (PBFieldDescriptorProto*) defaultInstance;

- (PBFieldDescriptorProtoBuilder*) clear;
- (PBFieldDescriptorProtoBuilder*) clone;

- (PBFieldDescriptorProto*) build;
- (PBFieldDescriptorProto*) buildPartial;

- (PBFieldDescriptorProtoBuilder*) mergeFrom:(PBFieldDescriptorProto*) other;
- (PBFieldDescriptorProtoBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input;
- (PBFieldDescriptorProtoBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;

- (BOOL) hasName;
- (NSString*) name;
- (PBFieldDescriptorProtoBuilder*) setName:(NSString*) value;
- (PBFieldDescriptorProtoBuilder*) clearName;

- (BOOL) hasNumber;
- (SInt32) number;
- (PBFieldDescriptorProtoBuilder*) setNumber:(SInt32) value;
- (PBFieldDescriptorProtoBuilder*) clearNumber;

- (BOOL) hasLabel;
- (PBFieldDescriptorProtoLabel) label;
- (PBFieldDescriptorProtoBuilder*) setLabel:(PBFieldDescriptorProtoLabel) value;
- (PBFieldDescriptorProtoBuilder*) clearLabel;

- (BOOL) hasType;
- (PBFieldDescriptorProtoType) type;
- (PBFieldDescriptorProtoBuilder*) setType:(PBFieldDescriptorProtoType) value;
- (PBFieldDescriptorProtoBuilder*) clearType;

- (BOOL) hasTypeName;
- (NSString*) typeName;
- (PBFieldDescriptorProtoBuilder*) setTypeName:(NSString*) value;
- (PBFieldDescriptorProtoBuilder*) clearTypeName;

- (BOOL) hasExtendee;
- (NSString*) extendee;
- (PBFieldDescriptorProtoBuilder*) setExtendee:(NSString*) value;
- (PBFieldDescriptorProtoBuilder*) clearExtendee;

- (BOOL) hasDefaultValue;
- (NSString*) defaultValue;
- (PBFieldDescriptorProtoBuilder*) setDefaultValue:(NSString*) value;
- (PBFieldDescriptorProtoBuilder*) clearDefaultValue;

- (BOOL) hasOneofIndex;
- (SInt32) oneofIndex;
- (PBFieldDescriptorProtoBuilder*) setOneofIndex:(SInt32) value;
- (PBFieldDescriptorProtoBuilder*) clearOneofIndex;

- (BOOL) hasOptions;
- (PBFieldOptions*) options;
- (PBFieldDescriptorProtoBuilder*) setOptions:(PBFieldOptions*) value;
- (PBFieldDescriptorProtoBuilder*) setOptionsBuilder:(PBFieldOptionsBuilder*) builderForValue;
- (PBFieldDescriptorProtoBuilder*) mergeOptions:(PBFieldOptions*) value;
- (PBFieldDescriptorProtoBuilder*) clearOptions;
@end

#define OneofDescriptorProto_name @"name"
@interface PBOneofDescriptorProto : PBGeneratedMessage<GeneratedMessageProtocol> {
@private
  BOOL hasName_:1;
  NSString* name;
}
- (BOOL) hasName;
@property (readonly, strong) NSString* name;

+ (instancetype) defaultInstance;
- (instancetype) defaultInstance;

- (BOOL) isInitialized;
- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output;
- (PBOneofDescriptorProtoBuilder*) builder;
+ (PBOneofDescriptorProtoBuilder*) builder;
+ (PBOneofDescriptorProtoBuilder*) builderWithPrototype:(PBOneofDescriptorProto*) prototype;
- (PBOneofDescriptorProtoBuilder*) toBuilder;

+ (PBOneofDescriptorProto*) parseFromData:(NSData*) data;
+ (PBOneofDescriptorProto*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
+ (PBOneofDescriptorProto*) parseFromInputStream:(NSInputStream*) input;
+ (PBOneofDescriptorProto*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
+ (PBOneofDescriptorProto*) parseFromCodedInputStream:(PBCodedInputStream*) input;
+ (PBOneofDescriptorProto*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
@end

@interface PBOneofDescriptorProtoBuilder : PBGeneratedMessageBuilder {
@private
  PBOneofDescriptorProto* resultOneofDescriptorProto;
}

- (PBOneofDescriptorProto*) defaultInstance;

- (PBOneofDescriptorProtoBuilder*) clear;
- (PBOneofDescriptorProtoBuilder*) clone;

- (PBOneofDescriptorProto*) build;
- (PBOneofDescriptorProto*) buildPartial;

- (PBOneofDescriptorProtoBuilder*) mergeFrom:(PBOneofDescriptorProto*) other;
- (PBOneofDescriptorProtoBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input;
- (PBOneofDescriptorProtoBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;

- (BOOL) hasName;
- (NSString*) name;
- (PBOneofDescriptorProtoBuilder*) setName:(NSString*) value;
- (PBOneofDescriptorProtoBuilder*) clearName;
@end

#define EnumDescriptorProto_name @"name"
#define EnumDescriptorProto_value @"value"
#define EnumDescriptorProto_options @"options"
@interface PBEnumDescriptorProto : PBGeneratedMessage<GeneratedMessageProtocol> {
@private
  BOOL hasName_:1;
  BOOL hasOptions_:1;
  NSString* name;
  PBEnumOptions* options;
  NSMutableArray * valueArray;
}
- (BOOL) hasName;
- (BOOL) hasOptions;
@property (readonly, strong) NSString* name;
@property (readonly, strong) NSArray<PBEnumValueDescriptorProto*> * value;
@property (readonly, strong) PBEnumOptions* options;
- (PBEnumValueDescriptorProto*)valueAtIndex:(NSUInteger)index;

+ (instancetype) defaultInstance;
- (instancetype) defaultInstance;

- (BOOL) isInitialized;
- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output;
- (PBEnumDescriptorProtoBuilder*) builder;
+ (PBEnumDescriptorProtoBuilder*) builder;
+ (PBEnumDescriptorProtoBuilder*) builderWithPrototype:(PBEnumDescriptorProto*) prototype;
- (PBEnumDescriptorProtoBuilder*) toBuilder;

+ (PBEnumDescriptorProto*) parseFromData:(NSData*) data;
+ (PBEnumDescriptorProto*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
+ (PBEnumDescriptorProto*) parseFromInputStream:(NSInputStream*) input;
+ (PBEnumDescriptorProto*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
+ (PBEnumDescriptorProto*) parseFromCodedInputStream:(PBCodedInputStream*) input;
+ (PBEnumDescriptorProto*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
@end

@interface PBEnumDescriptorProtoBuilder : PBGeneratedMessageBuilder {
@private
  PBEnumDescriptorProto* resultEnumDescriptorProto;
}

- (PBEnumDescriptorProto*) defaultInstance;

- (PBEnumDescriptorProtoBuilder*) clear;
- (PBEnumDescriptorProtoBuilder*) clone;

- (PBEnumDescriptorProto*) build;
- (PBEnumDescriptorProto*) buildPartial;

- (PBEnumDescriptorProtoBuilder*) mergeFrom:(PBEnumDescriptorProto*) other;
- (PBEnumDescriptorProtoBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input;
- (PBEnumDescriptorProtoBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;

- (BOOL) hasName;
- (NSString*) name;
- (PBEnumDescriptorProtoBuilder*) setName:(NSString*) value;
- (PBEnumDescriptorProtoBuilder*) clearName;

- (NSMutableArray<PBEnumValueDescriptorProto*> *)value;
- (PBEnumValueDescriptorProto*)valueAtIndex:(NSUInteger)index;
- (PBEnumDescriptorProtoBuilder *)addValue:(PBEnumValueDescriptorProto*)value;
- (PBEnumDescriptorProtoBuilder *)setValueArray:(NSArray<PBEnumValueDescriptorProto*> *)array;
- (PBEnumDescriptorProtoBuilder *)clearValue;

- (BOOL) hasOptions;
- (PBEnumOptions*) options;
- (PBEnumDescriptorProtoBuilder*) setOptions:(PBEnumOptions*) value;
- (PBEnumDescriptorProtoBuilder*) setOptionsBuilder:(PBEnumOptionsBuilder*) builderForValue;
- (PBEnumDescriptorProtoBuilder*) mergeOptions:(PBEnumOptions*) value;
- (PBEnumDescriptorProtoBuilder*) clearOptions;
@end

#define EnumValueDescriptorProto_name @"name"
#define EnumValueDescriptorProto_number @"number"
#define EnumValueDescriptorProto_options @"options"
@interface PBEnumValueDescriptorProto : PBGeneratedMessage<GeneratedMessageProtocol> {
@private
  BOOL hasNumber_:1;
  BOOL hasName_:1;
  BOOL hasOptions_:1;
  SInt32 number;
  NSString* name;
  PBEnumValueOptions* options;
}
- (BOOL) hasName;
- (BOOL) hasNumber;
- (BOOL) hasOptions;
@property (readonly, strong) NSString* name;
@property (readonly) SInt32 number;
@property (readonly, strong) PBEnumValueOptions* options;

+ (instancetype) defaultInstance;
- (instancetype) defaultInstance;

- (BOOL) isInitialized;
- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output;
- (PBEnumValueDescriptorProtoBuilder*) builder;
+ (PBEnumValueDescriptorProtoBuilder*) builder;
+ (PBEnumValueDescriptorProtoBuilder*) builderWithPrototype:(PBEnumValueDescriptorProto*) prototype;
- (PBEnumValueDescriptorProtoBuilder*) toBuilder;

+ (PBEnumValueDescriptorProto*) parseFromData:(NSData*) data;
+ (PBEnumValueDescriptorProto*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
+ (PBEnumValueDescriptorProto*) parseFromInputStream:(NSInputStream*) input;
+ (PBEnumValueDescriptorProto*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
+ (PBEnumValueDescriptorProto*) parseFromCodedInputStream:(PBCodedInputStream*) input;
+ (PBEnumValueDescriptorProto*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
@end

@interface PBEnumValueDescriptorProtoBuilder : PBGeneratedMessageBuilder {
@private
  PBEnumValueDescriptorProto* resultEnumValueDescriptorProto;
}

- (PBEnumValueDescriptorProto*) defaultInstance;

- (PBEnumValueDescriptorProtoBuilder*) clear;
- (PBEnumValueDescriptorProtoBuilder*) clone;

- (PBEnumValueDescriptorProto*) build;
- (PBEnumValueDescriptorProto*) buildPartial;

- (PBEnumValueDescriptorProtoBuilder*) mergeFrom:(PBEnumValueDescriptorProto*) other;
- (PBEnumValueDescriptorProtoBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input;
- (PBEnumValueDescriptorProtoBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;

- (BOOL) hasName;
- (NSString*) name;
- (PBEnumValueDescriptorProtoBuilder*) setName:(NSString*) value;
- (PBEnumValueDescriptorProtoBuilder*) clearName;

- (BOOL) hasNumber;
- (SInt32) number;
- (PBEnumValueDescriptorProtoBuilder*) setNumber:(SInt32) value;
- (PBEnumValueDescriptorProtoBuilder*) clearNumber;

- (BOOL) hasOptions;
- (PBEnumValueOptions*) options;
- (PBEnumValueDescriptorProtoBuilder*) setOptions:(PBEnumValueOptions*) value;
- (PBEnumValueDescriptorProtoBuilder*) setOptionsBuilder:(PBEnumValueOptionsBuilder*) builderForValue;
- (PBEnumValueDescriptorProtoBuilder*) mergeOptions:(PBEnumValueOptions*) value;
- (PBEnumValueDescriptorProtoBuilder*) clearOptions;
@end

#define ServiceDescriptorProto_name @"name"
#define ServiceDescriptorProto_method @"method"
#define ServiceDescriptorProto_options @"options"
@interface PBServiceDescriptorProto : PBGeneratedMessage<GeneratedMessageProtocol> {
@private
  BOOL hasName_:1;
  BOOL hasOptions_:1;
  NSString* name;
  PBServiceOptions* options;
  NSMutableArray * methodArray;
}
- (BOOL) hasName;
- (BOOL) hasOptions;
@property (readonly, strong) NSString* name;
@property (readonly, strong) NSArray<PBMethodDescriptorProto*> * method;
@property (readonly, strong) PBServiceOptions* options;
- (PBMethodDescriptorProto*)methodAtIndex:(NSUInteger)index;

+ (instancetype) defaultInstance;
- (instancetype) defaultInstance;

- (BOOL) isInitialized;
- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output;
- (PBServiceDescriptorProtoBuilder*) builder;
+ (PBServiceDescriptorProtoBuilder*) builder;
+ (PBServiceDescriptorProtoBuilder*) builderWithPrototype:(PBServiceDescriptorProto*) prototype;
- (PBServiceDescriptorProtoBuilder*) toBuilder;

+ (PBServiceDescriptorProto*) parseFromData:(NSData*) data;
+ (PBServiceDescriptorProto*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
+ (PBServiceDescriptorProto*) parseFromInputStream:(NSInputStream*) input;
+ (PBServiceDescriptorProto*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
+ (PBServiceDescriptorProto*) parseFromCodedInputStream:(PBCodedInputStream*) input;
+ (PBServiceDescriptorProto*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
@end

@interface PBServiceDescriptorProtoBuilder : PBGeneratedMessageBuilder {
@private
  PBServiceDescriptorProto* resultServiceDescriptorProto;
}

- (PBServiceDescriptorProto*) defaultInstance;

- (PBServiceDescriptorProtoBuilder*) clear;
- (PBServiceDescriptorProtoBuilder*) clone;

- (PBServiceDescriptorProto*) build;
- (PBServiceDescriptorProto*) buildPartial;

- (PBServiceDescriptorProtoBuilder*) mergeFrom:(PBServiceDescriptorProto*) other;
- (PBServiceDescriptorProtoBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input;
- (PBServiceDescriptorProtoBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;

- (BOOL) hasName;
- (NSString*) name;
- (PBServiceDescriptorProtoBuilder*) setName:(NSString*) value;
- (PBServiceDescriptorProtoBuilder*) clearName;

- (NSMutableArray<PBMethodDescriptorProto*> *)method;
- (PBMethodDescriptorProto*)methodAtIndex:(NSUInteger)index;
- (PBServiceDescriptorProtoBuilder *)addMethod:(PBMethodDescriptorProto*)value;
- (PBServiceDescriptorProtoBuilder *)setMethodArray:(NSArray<PBMethodDescriptorProto*> *)array;
- (PBServiceDescriptorProtoBuilder *)clearMethod;

- (BOOL) hasOptions;
- (PBServiceOptions*) options;
- (PBServiceDescriptorProtoBuilder*) setOptions:(PBServiceOptions*) value;
- (PBServiceDescriptorProtoBuilder*) setOptionsBuilder:(PBServiceOptionsBuilder*) builderForValue;
- (PBServiceDescriptorProtoBuilder*) mergeOptions:(PBServiceOptions*) value;
- (PBServiceDescriptorProtoBuilder*) clearOptions;
@end

#define MethodDescriptorProto_name @"name"
#define MethodDescriptorProto_input_type @"inputType"
#define MethodDescriptorProto_output_type @"outputType"
#define MethodDescriptorProto_options @"options"
@interface PBMethodDescriptorProto : PBGeneratedMessage<GeneratedMessageProtocol> {
@private
  BOOL hasName_:1;
  BOOL hasInputType_:1;
  BOOL hasOutputType_:1;
  BOOL hasOptions_:1;
  NSString* name;
  NSString* inputType;
  NSString* outputType;
  PBMethodOptions* options;
}
- (BOOL) hasName;
- (BOOL) hasInputType;
- (BOOL) hasOutputType;
- (BOOL) hasOptions;
@property (readonly, strong) NSString* name;
@property (readonly, strong) NSString* inputType;
@property (readonly, strong) NSString* outputType;
@property (readonly, strong) PBMethodOptions* options;

+ (instancetype) defaultInstance;
- (instancetype) defaultInstance;

- (BOOL) isInitialized;
- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output;
- (PBMethodDescriptorProtoBuilder*) builder;
+ (PBMethodDescriptorProtoBuilder*) builder;
+ (PBMethodDescriptorProtoBuilder*) builderWithPrototype:(PBMethodDescriptorProto*) prototype;
- (PBMethodDescriptorProtoBuilder*) toBuilder;

+ (PBMethodDescriptorProto*) parseFromData:(NSData*) data;
+ (PBMethodDescriptorProto*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
+ (PBMethodDescriptorProto*) parseFromInputStream:(NSInputStream*) input;
+ (PBMethodDescriptorProto*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
+ (PBMethodDescriptorProto*) parseFromCodedInputStream:(PBCodedInputStream*) input;
+ (PBMethodDescriptorProto*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
@end

@interface PBMethodDescriptorProtoBuilder : PBGeneratedMessageBuilder {
@private
  PBMethodDescriptorProto* resultMethodDescriptorProto;
}

- (PBMethodDescriptorProto*) defaultInstance;

- (PBMethodDescriptorProtoBuilder*) clear;
- (PBMethodDescriptorProtoBuilder*) clone;

- (PBMethodDescriptorProto*) build;
- (PBMethodDescriptorProto*) buildPartial;

- (PBMethodDescriptorProtoBuilder*) mergeFrom:(PBMethodDescriptorProto*) other;
- (PBMethodDescriptorProtoBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input;
- (PBMethodDescriptorProtoBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;

- (BOOL) hasName;
- (NSString*) name;
- (PBMethodDescriptorProtoBuilder*) setName:(NSString*) value;
- (PBMethodDescriptorProtoBuilder*) clearName;

- (BOOL) hasInputType;
- (NSString*) inputType;
- (PBMethodDescriptorProtoBuilder*) setInputType:(NSString*) value;
- (PBMethodDescriptorProtoBuilder*) clearInputType;

- (BOOL) hasOutputType;
- (NSString*) outputType;
- (PBMethodDescriptorProtoBuilder*) setOutputType:(NSString*) value;
- (PBMethodDescriptorProtoBuilder*) clearOutputType;

- (BOOL) hasOptions;
- (PBMethodOptions*) options;
- (PBMethodDescriptorProtoBuilder*) setOptions:(PBMethodOptions*) value;
- (PBMethodDescriptorProtoBuilder*) setOptionsBuilder:(PBMethodOptionsBuilder*) builderForValue;
- (PBMethodDescriptorProtoBuilder*) mergeOptions:(PBMethodOptions*) value;
- (PBMethodDescriptorProtoBuilder*) clearOptions;
@end

#define FileOptions_java_package @"javaPackage"
#define FileOptions_java_outer_classname @"javaOuterClassname"
#define FileOptions_java_multiple_files @"javaMultipleFiles"
#define FileOptions_java_generate_equals_and_hash @"javaGenerateEqualsAndHash"
#define FileOptions_java_string_check_utf8 @"javaStringCheckUtf8"
#define FileOptions_optimize_for @"optimizeFor"
#define FileOptions_go_package @"goPackage"
#define FileOptions_cc_generic_services @"ccGenericServices"
#define FileOptions_java_generic_services @"javaGenericServices"
#define FileOptions_py_generic_services @"pyGenericServices"
#define FileOptions_deprecated @"deprecated"
#define FileOptions_uninterpreted_option @"uninterpretedOption"
@interface PBFileOptions : PBExtendableMessage<GeneratedMessageProtocol> {
@private
  BOOL hasJavaMultipleFiles_:1;
  BOOL hasJavaGenerateEqualsAndHash_:1;
  BOOL hasJavaStringCheckUtf8_:1;
  BOOL hasCcGenericServices_:1;
  BOOL hasJavaGenericServices_:1;
  BOOL hasPyGenericServices_:1;
  BOOL hasDeprecated_:1;
  BOOL hasJavaPackage_:1;
  BOOL hasJavaOuterClassname_:1;
  BOOL hasGoPackage_:1;
  BOOL hasOptimizeFor_:1;
  BOOL javaMultipleFiles_:1;
  BOOL javaGenerateEqualsAndHash_:1;
  BOOL javaStringCheckUtf8_:1;
  BOOL ccGenericServices_:1;
  BOOL javaGenericServices_:1;
  BOOL pyGenericServices_:1;
  BOOL deprecated_:1;
  NSString* javaPackage;
  NSString* javaOuterClassname;
  NSString* goPackage;
  PBFileOptionsOptimizeMode optimizeFor;
  NSMutableArray * uninterpretedOptionArray;
}
- (BOOL) hasJavaPackage;
- (BOOL) hasJavaOuterClassname;
- (BOOL) hasJavaMultipleFiles;
- (BOOL) hasJavaGenerateEqualsAndHash;
- (BOOL) hasJavaStringCheckUtf8;
- (BOOL) hasOptimizeFor;
- (BOOL) hasGoPackage;
- (BOOL) hasCcGenericServices;
- (BOOL) hasJavaGenericServices;
- (BOOL) hasPyGenericServices;
- (BOOL) hasDeprecated;
@property (readonly, strong) NSString* javaPackage;
@property (readonly, strong) NSString* javaOuterClassname;
- (BOOL) javaMultipleFiles;
- (BOOL) javaGenerateEqualsAndHash;
- (BOOL) javaStringCheckUtf8;
@property (readonly) PBFileOptionsOptimizeMode optimizeFor;
@property (readonly, strong) NSString* goPackage;
- (BOOL) ccGenericServices;
- (BOOL) javaGenericServices;
- (BOOL) pyGenericServices;
- (BOOL) deprecated;
@property (readonly, strong) NSArray<PBUninterpretedOption*> * uninterpretedOption;
- (PBUninterpretedOption*)uninterpretedOptionAtIndex:(NSUInteger)index;

+ (instancetype) defaultInstance;
- (instancetype) defaultInstance;

- (BOOL) isInitialized;
- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output;
- (PBFileOptionsBuilder*) builder;
+ (PBFileOptionsBuilder*) builder;
+ (PBFileOptionsBuilder*) builderWithPrototype:(PBFileOptions*) prototype;
- (PBFileOptionsBuilder*) toBuilder;

+ (PBFileOptions*) parseFromData:(NSData*) data;
+ (PBFileOptions*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
+ (PBFileOptions*) parseFromInputStream:(NSInputStream*) input;
+ (PBFileOptions*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
+ (PBFileOptions*) parseFromCodedInputStream:(PBCodedInputStream*) input;
+ (PBFileOptions*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
@end

@interface PBFileOptionsBuilder : PBExtendableMessageBuilder {
@private
  PBFileOptions* resultFileOptions;
}

- (PBFileOptions*) defaultInstance;

- (PBFileOptionsBuilder*) clear;
- (PBFileOptionsBuilder*) clone;

- (PBFileOptions*) build;
- (PBFileOptions*) buildPartial;

- (PBFileOptionsBuilder*) mergeFrom:(PBFileOptions*) other;
- (PBFileOptionsBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input;
- (PBFileOptionsBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;

- (BOOL) hasJavaPackage;
- (NSString*) javaPackage;
- (PBFileOptionsBuilder*) setJavaPackage:(NSString*) value;
- (PBFileOptionsBuilder*) clearJavaPackage;

- (BOOL) hasJavaOuterClassname;
- (NSString*) javaOuterClassname;
- (PBFileOptionsBuilder*) setJavaOuterClassname:(NSString*) value;
- (PBFileOptionsBuilder*) clearJavaOuterClassname;

- (BOOL) hasJavaMultipleFiles;
- (BOOL) javaMultipleFiles;
- (PBFileOptionsBuilder*) setJavaMultipleFiles:(BOOL) value;
- (PBFileOptionsBuilder*) clearJavaMultipleFiles;

- (BOOL) hasJavaGenerateEqualsAndHash;
- (BOOL) javaGenerateEqualsAndHash;
- (PBFileOptionsBuilder*) setJavaGenerateEqualsAndHash:(BOOL) value;
- (PBFileOptionsBuilder*) clearJavaGenerateEqualsAndHash;

- (BOOL) hasJavaStringCheckUtf8;
- (BOOL) javaStringCheckUtf8;
- (PBFileOptionsBuilder*) setJavaStringCheckUtf8:(BOOL) value;
- (PBFileOptionsBuilder*) clearJavaStringCheckUtf8;

- (BOOL) hasOptimizeFor;
- (PBFileOptionsOptimizeMode) optimizeFor;
- (PBFileOptionsBuilder*) setOptimizeFor:(PBFileOptionsOptimizeMode) value;
- (PBFileOptionsBuilder*) clearOptimizeFor;

- (BOOL) hasGoPackage;
- (NSString*) goPackage;
- (PBFileOptionsBuilder*) setGoPackage:(NSString*) value;
- (PBFileOptionsBuilder*) clearGoPackage;

- (BOOL) hasCcGenericServices;
- (BOOL) ccGenericServices;
- (PBFileOptionsBuilder*) setCcGenericServices:(BOOL) value;
- (PBFileOptionsBuilder*) clearCcGenericServices;

- (BOOL) hasJavaGenericServices;
- (BOOL) javaGenericServices;
- (PBFileOptionsBuilder*) setJavaGenericServices:(BOOL) value;
- (PBFileOptionsBuilder*) clearJavaGenericServices;

- (BOOL) hasPyGenericServices;
- (BOOL) pyGenericServices;
- (PBFileOptionsBuilder*) setPyGenericServices:(BOOL) value;
- (PBFileOptionsBuilder*) clearPyGenericServices;

- (BOOL) hasDeprecated;
- (BOOL) deprecated;
- (PBFileOptionsBuilder*) setDeprecated:(BOOL) value;
- (PBFileOptionsBuilder*) clearDeprecated;

- (NSMutableArray<PBUninterpretedOption*> *)uninterpretedOption;
- (PBUninterpretedOption*)uninterpretedOptionAtIndex:(NSUInteger)index;
- (PBFileOptionsBuilder *)addUninterpretedOption:(PBUninterpretedOption*)value;
- (PBFileOptionsBuilder *)setUninterpretedOptionArray:(NSArray<PBUninterpretedOption*> *)array;
- (PBFileOptionsBuilder *)clearUninterpretedOption;
@end

#define MessageOptions_message_set_wire_format @"messageSetWireFormat"
#define MessageOptions_no_standard_descriptor_accessor @"noStandardDescriptorAccessor"
#define MessageOptions_deprecated @"deprecated"
#define MessageOptions_uninterpreted_option @"uninterpretedOption"
@interface PBMessageOptions : PBExtendableMessage<GeneratedMessageProtocol> {
@private
  BOOL hasMessageSetWireFormat_:1;
  BOOL hasNoStandardDescriptorAccessor_:1;
  BOOL hasDeprecated_:1;
  BOOL messageSetWireFormat_:1;
  BOOL noStandardDescriptorAccessor_:1;
  BOOL deprecated_:1;
  NSMutableArray * uninterpretedOptionArray;
}
- (BOOL) hasMessageSetWireFormat;
- (BOOL) hasNoStandardDescriptorAccessor;
- (BOOL) hasDeprecated;
- (BOOL) messageSetWireFormat;
- (BOOL) noStandardDescriptorAccessor;
- (BOOL) deprecated;
@property (readonly, strong) NSArray<PBUninterpretedOption*> * uninterpretedOption;
- (PBUninterpretedOption*)uninterpretedOptionAtIndex:(NSUInteger)index;

+ (instancetype) defaultInstance;
- (instancetype) defaultInstance;

- (BOOL) isInitialized;
- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output;
- (PBMessageOptionsBuilder*) builder;
+ (PBMessageOptionsBuilder*) builder;
+ (PBMessageOptionsBuilder*) builderWithPrototype:(PBMessageOptions*) prototype;
- (PBMessageOptionsBuilder*) toBuilder;

+ (PBMessageOptions*) parseFromData:(NSData*) data;
+ (PBMessageOptions*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
+ (PBMessageOptions*) parseFromInputStream:(NSInputStream*) input;
+ (PBMessageOptions*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
+ (PBMessageOptions*) parseFromCodedInputStream:(PBCodedInputStream*) input;
+ (PBMessageOptions*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
@end

@interface PBMessageOptionsBuilder : PBExtendableMessageBuilder {
@private
  PBMessageOptions* resultMessageOptions;
}

- (PBMessageOptions*) defaultInstance;

- (PBMessageOptionsBuilder*) clear;
- (PBMessageOptionsBuilder*) clone;

- (PBMessageOptions*) build;
- (PBMessageOptions*) buildPartial;

- (PBMessageOptionsBuilder*) mergeFrom:(PBMessageOptions*) other;
- (PBMessageOptionsBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input;
- (PBMessageOptionsBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;

- (BOOL) hasMessageSetWireFormat;
- (BOOL) messageSetWireFormat;
- (PBMessageOptionsBuilder*) setMessageSetWireFormat:(BOOL) value;
- (PBMessageOptionsBuilder*) clearMessageSetWireFormat;

- (BOOL) hasNoStandardDescriptorAccessor;
- (BOOL) noStandardDescriptorAccessor;
- (PBMessageOptionsBuilder*) setNoStandardDescriptorAccessor:(BOOL) value;
- (PBMessageOptionsBuilder*) clearNoStandardDescriptorAccessor;

- (BOOL) hasDeprecated;
- (BOOL) deprecated;
- (PBMessageOptionsBuilder*) setDeprecated:(BOOL) value;
- (PBMessageOptionsBuilder*) clearDeprecated;

- (NSMutableArray<PBUninterpretedOption*> *)uninterpretedOption;
- (PBUninterpretedOption*)uninterpretedOptionAtIndex:(NSUInteger)index;
- (PBMessageOptionsBuilder *)addUninterpretedOption:(PBUninterpretedOption*)value;
- (PBMessageOptionsBuilder *)setUninterpretedOptionArray:(NSArray<PBUninterpretedOption*> *)array;
- (PBMessageOptionsBuilder *)clearUninterpretedOption;
@end

#define FieldOptions_ctype @"ctype"
#define FieldOptions_packed @"packed"
#define FieldOptions_lazy @"lazy"
#define FieldOptions_deprecated @"deprecated"
#define FieldOptions_experimental_map_key @"experimentalMapKey"
#define FieldOptions_weak @"weak"
#define FieldOptions_uninterpreted_option @"uninterpretedOption"
@interface PBFieldOptions : PBExtendableMessage<GeneratedMessageProtocol> {
@private
  BOOL hasPacked_:1;
  BOOL hasLazy_:1;
  BOOL hasDeprecated_:1;
  BOOL hasWeak_:1;
  BOOL hasExperimentalMapKey_:1;
  BOOL hasCtype_:1;
  BOOL packed_:1;
  BOOL lazy_:1;
  BOOL deprecated_:1;
  BOOL weak_:1;
  NSString* experimentalMapKey;
  PBFieldOptionsCType ctype;
  NSMutableArray * uninterpretedOptionArray;
}
- (BOOL) hasCtype;
- (BOOL) hasPacked;
- (BOOL) hasLazy;
- (BOOL) hasDeprecated;
- (BOOL) hasExperimentalMapKey;
- (BOOL) hasWeak;
@property (readonly) PBFieldOptionsCType ctype;
- (BOOL) packed;
- (BOOL) lazy;
- (BOOL) deprecated;
@property (readonly, strong) NSString* experimentalMapKey;
- (BOOL) weak;
@property (readonly, strong) NSArray<PBUninterpretedOption*> * uninterpretedOption;
- (PBUninterpretedOption*)uninterpretedOptionAtIndex:(NSUInteger)index;

+ (instancetype) defaultInstance;
- (instancetype) defaultInstance;

- (BOOL) isInitialized;
- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output;
- (PBFieldOptionsBuilder*) builder;
+ (PBFieldOptionsBuilder*) builder;
+ (PBFieldOptionsBuilder*) builderWithPrototype:(PBFieldOptions*) prototype;
- (PBFieldOptionsBuilder*) toBuilder;

+ (PBFieldOptions*) parseFromData:(NSData*) data;
+ (PBFieldOptions*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
+ (PBFieldOptions*) parseFromInputStream:(NSInputStream*) input;
+ (PBFieldOptions*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
+ (PBFieldOptions*) parseFromCodedInputStream:(PBCodedInputStream*) input;
+ (PBFieldOptions*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
@end

@interface PBFieldOptionsBuilder : PBExtendableMessageBuilder {
@private
  PBFieldOptions* resultFieldOptions;
}

- (PBFieldOptions*) defaultInstance;

- (PBFieldOptionsBuilder*) clear;
- (PBFieldOptionsBuilder*) clone;

- (PBFieldOptions*) build;
- (PBFieldOptions*) buildPartial;

- (PBFieldOptionsBuilder*) mergeFrom:(PBFieldOptions*) other;
- (PBFieldOptionsBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input;
- (PBFieldOptionsBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;

- (BOOL) hasCtype;
- (PBFieldOptionsCType) ctype;
- (PBFieldOptionsBuilder*) setCtype:(PBFieldOptionsCType) value;
- (PBFieldOptionsBuilder*) clearCtype;

- (BOOL) hasPacked;
- (BOOL) packed;
- (PBFieldOptionsBuilder*) setPacked:(BOOL) value;
- (PBFieldOptionsBuilder*) clearPacked;

- (BOOL) hasLazy;
- (BOOL) lazy;
- (PBFieldOptionsBuilder*) setLazy:(BOOL) value;
- (PBFieldOptionsBuilder*) clearLazy;

- (BOOL) hasDeprecated;
- (BOOL) deprecated;
- (PBFieldOptionsBuilder*) setDeprecated:(BOOL) value;
- (PBFieldOptionsBuilder*) clearDeprecated;

- (BOOL) hasExperimentalMapKey;
- (NSString*) experimentalMapKey;
- (PBFieldOptionsBuilder*) setExperimentalMapKey:(NSString*) value;
- (PBFieldOptionsBuilder*) clearExperimentalMapKey;

- (BOOL) hasWeak;
- (BOOL) weak;
- (PBFieldOptionsBuilder*) setWeak:(BOOL) value;
- (PBFieldOptionsBuilder*) clearWeak;

- (NSMutableArray<PBUninterpretedOption*> *)uninterpretedOption;
- (PBUninterpretedOption*)uninterpretedOptionAtIndex:(NSUInteger)index;
- (PBFieldOptionsBuilder *)addUninterpretedOption:(PBUninterpretedOption*)value;
- (PBFieldOptionsBuilder *)setUninterpretedOptionArray:(NSArray<PBUninterpretedOption*> *)array;
- (PBFieldOptionsBuilder *)clearUninterpretedOption;
@end

#define EnumOptions_allow_alias @"allowAlias"
#define EnumOptions_deprecated @"deprecated"
#define EnumOptions_uninterpreted_option @"uninterpretedOption"
@interface PBEnumOptions : PBExtendableMessage<GeneratedMessageProtocol> {
@private
  BOOL hasAllowAlias_:1;
  BOOL hasDeprecated_:1;
  BOOL allowAlias_:1;
  BOOL deprecated_:1;
  NSMutableArray * uninterpretedOptionArray;
}
- (BOOL) hasAllowAlias;
- (BOOL) hasDeprecated;
- (BOOL) allowAlias;
- (BOOL) deprecated;
@property (readonly, strong) NSArray<PBUninterpretedOption*> * uninterpretedOption;
- (PBUninterpretedOption*)uninterpretedOptionAtIndex:(NSUInteger)index;

+ (instancetype) defaultInstance;
- (instancetype) defaultInstance;

- (BOOL) isInitialized;
- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output;
- (PBEnumOptionsBuilder*) builder;
+ (PBEnumOptionsBuilder*) builder;
+ (PBEnumOptionsBuilder*) builderWithPrototype:(PBEnumOptions*) prototype;
- (PBEnumOptionsBuilder*) toBuilder;

+ (PBEnumOptions*) parseFromData:(NSData*) data;
+ (PBEnumOptions*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
+ (PBEnumOptions*) parseFromInputStream:(NSInputStream*) input;
+ (PBEnumOptions*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
+ (PBEnumOptions*) parseFromCodedInputStream:(PBCodedInputStream*) input;
+ (PBEnumOptions*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
@end

@interface PBEnumOptionsBuilder : PBExtendableMessageBuilder {
@private
  PBEnumOptions* resultEnumOptions;
}

- (PBEnumOptions*) defaultInstance;

- (PBEnumOptionsBuilder*) clear;
- (PBEnumOptionsBuilder*) clone;

- (PBEnumOptions*) build;
- (PBEnumOptions*) buildPartial;

- (PBEnumOptionsBuilder*) mergeFrom:(PBEnumOptions*) other;
- (PBEnumOptionsBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input;
- (PBEnumOptionsBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;

- (BOOL) hasAllowAlias;
- (BOOL) allowAlias;
- (PBEnumOptionsBuilder*) setAllowAlias:(BOOL) value;
- (PBEnumOptionsBuilder*) clearAllowAlias;

- (BOOL) hasDeprecated;
- (BOOL) deprecated;
- (PBEnumOptionsBuilder*) setDeprecated:(BOOL) value;
- (PBEnumOptionsBuilder*) clearDeprecated;

- (NSMutableArray<PBUninterpretedOption*> *)uninterpretedOption;
- (PBUninterpretedOption*)uninterpretedOptionAtIndex:(NSUInteger)index;
- (PBEnumOptionsBuilder *)addUninterpretedOption:(PBUninterpretedOption*)value;
- (PBEnumOptionsBuilder *)setUninterpretedOptionArray:(NSArray<PBUninterpretedOption*> *)array;
- (PBEnumOptionsBuilder *)clearUninterpretedOption;
@end

#define EnumValueOptions_deprecated @"deprecated"
#define EnumValueOptions_uninterpreted_option @"uninterpretedOption"
@interface PBEnumValueOptions : PBExtendableMessage<GeneratedMessageProtocol> {
@private
  BOOL hasDeprecated_:1;
  BOOL deprecated_:1;
  NSMutableArray * uninterpretedOptionArray;
}
- (BOOL) hasDeprecated;
- (BOOL) deprecated;
@property (readonly, strong) NSArray<PBUninterpretedOption*> * uninterpretedOption;
- (PBUninterpretedOption*)uninterpretedOptionAtIndex:(NSUInteger)index;

+ (instancetype) defaultInstance;
- (instancetype) defaultInstance;

- (BOOL) isInitialized;
- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output;
- (PBEnumValueOptionsBuilder*) builder;
+ (PBEnumValueOptionsBuilder*) builder;
+ (PBEnumValueOptionsBuilder*) builderWithPrototype:(PBEnumValueOptions*) prototype;
- (PBEnumValueOptionsBuilder*) toBuilder;

+ (PBEnumValueOptions*) parseFromData:(NSData*) data;
+ (PBEnumValueOptions*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
+ (PBEnumValueOptions*) parseFromInputStream:(NSInputStream*) input;
+ (PBEnumValueOptions*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
+ (PBEnumValueOptions*) parseFromCodedInputStream:(PBCodedInputStream*) input;
+ (PBEnumValueOptions*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
@end

@interface PBEnumValueOptionsBuilder : PBExtendableMessageBuilder {
@private
  PBEnumValueOptions* resultEnumValueOptions;
}

- (PBEnumValueOptions*) defaultInstance;

- (PBEnumValueOptionsBuilder*) clear;
- (PBEnumValueOptionsBuilder*) clone;

- (PBEnumValueOptions*) build;
- (PBEnumValueOptions*) buildPartial;

- (PBEnumValueOptionsBuilder*) mergeFrom:(PBEnumValueOptions*) other;
- (PBEnumValueOptionsBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input;
- (PBEnumValueOptionsBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;

- (BOOL) hasDeprecated;
- (BOOL) deprecated;
- (PBEnumValueOptionsBuilder*) setDeprecated:(BOOL) value;
- (PBEnumValueOptionsBuilder*) clearDeprecated;

- (NSMutableArray<PBUninterpretedOption*> *)uninterpretedOption;
- (PBUninterpretedOption*)uninterpretedOptionAtIndex:(NSUInteger)index;
- (PBEnumValueOptionsBuilder *)addUninterpretedOption:(PBUninterpretedOption*)value;
- (PBEnumValueOptionsBuilder *)setUninterpretedOptionArray:(NSArray<PBUninterpretedOption*> *)array;
- (PBEnumValueOptionsBuilder *)clearUninterpretedOption;
@end

#define ServiceOptions_deprecated @"deprecated"
#define ServiceOptions_uninterpreted_option @"uninterpretedOption"
@interface PBServiceOptions : PBExtendableMessage<GeneratedMessageProtocol> {
@private
  BOOL hasDeprecated_:1;
  BOOL deprecated_:1;
  NSMutableArray * uninterpretedOptionArray;
}
- (BOOL) hasDeprecated;
- (BOOL) deprecated;
@property (readonly, strong) NSArray<PBUninterpretedOption*> * uninterpretedOption;
- (PBUninterpretedOption*)uninterpretedOptionAtIndex:(NSUInteger)index;

+ (instancetype) defaultInstance;
- (instancetype) defaultInstance;

- (BOOL) isInitialized;
- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output;
- (PBServiceOptionsBuilder*) builder;
+ (PBServiceOptionsBuilder*) builder;
+ (PBServiceOptionsBuilder*) builderWithPrototype:(PBServiceOptions*) prototype;
- (PBServiceOptionsBuilder*) toBuilder;

+ (PBServiceOptions*) parseFromData:(NSData*) data;
+ (PBServiceOptions*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
+ (PBServiceOptions*) parseFromInputStream:(NSInputStream*) input;
+ (PBServiceOptions*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
+ (PBServiceOptions*) parseFromCodedInputStream:(PBCodedInputStream*) input;
+ (PBServiceOptions*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
@end

@interface PBServiceOptionsBuilder : PBExtendableMessageBuilder {
@private
  PBServiceOptions* resultServiceOptions;
}

- (PBServiceOptions*) defaultInstance;

- (PBServiceOptionsBuilder*) clear;
- (PBServiceOptionsBuilder*) clone;

- (PBServiceOptions*) build;
- (PBServiceOptions*) buildPartial;

- (PBServiceOptionsBuilder*) mergeFrom:(PBServiceOptions*) other;
- (PBServiceOptionsBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input;
- (PBServiceOptionsBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;

- (BOOL) hasDeprecated;
- (BOOL) deprecated;
- (PBServiceOptionsBuilder*) setDeprecated:(BOOL) value;
- (PBServiceOptionsBuilder*) clearDeprecated;

- (NSMutableArray<PBUninterpretedOption*> *)uninterpretedOption;
- (PBUninterpretedOption*)uninterpretedOptionAtIndex:(NSUInteger)index;
- (PBServiceOptionsBuilder *)addUninterpretedOption:(PBUninterpretedOption*)value;
- (PBServiceOptionsBuilder *)setUninterpretedOptionArray:(NSArray<PBUninterpretedOption*> *)array;
- (PBServiceOptionsBuilder *)clearUninterpretedOption;
@end

#define MethodOptions_deprecated @"deprecated"
#define MethodOptions_uninterpreted_option @"uninterpretedOption"
@interface PBMethodOptions : PBExtendableMessage<GeneratedMessageProtocol> {
@private
  BOOL hasDeprecated_:1;
  BOOL deprecated_:1;
  NSMutableArray * uninterpretedOptionArray;
}
- (BOOL) hasDeprecated;
- (BOOL) deprecated;
@property (readonly, strong) NSArray<PBUninterpretedOption*> * uninterpretedOption;
- (PBUninterpretedOption*)uninterpretedOptionAtIndex:(NSUInteger)index;

+ (instancetype) defaultInstance;
- (instancetype) defaultInstance;

- (BOOL) isInitialized;
- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output;
- (PBMethodOptionsBuilder*) builder;
+ (PBMethodOptionsBuilder*) builder;
+ (PBMethodOptionsBuilder*) builderWithPrototype:(PBMethodOptions*) prototype;
- (PBMethodOptionsBuilder*) toBuilder;

+ (PBMethodOptions*) parseFromData:(NSData*) data;
+ (PBMethodOptions*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
+ (PBMethodOptions*) parseFromInputStream:(NSInputStream*) input;
+ (PBMethodOptions*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
+ (PBMethodOptions*) parseFromCodedInputStream:(PBCodedInputStream*) input;
+ (PBMethodOptions*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
@end

@interface PBMethodOptionsBuilder : PBExtendableMessageBuilder {
@private
  PBMethodOptions* resultMethodOptions;
}

- (PBMethodOptions*) defaultInstance;

- (PBMethodOptionsBuilder*) clear;
- (PBMethodOptionsBuilder*) clone;

- (PBMethodOptions*) build;
- (PBMethodOptions*) buildPartial;

- (PBMethodOptionsBuilder*) mergeFrom:(PBMethodOptions*) other;
- (PBMethodOptionsBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input;
- (PBMethodOptionsBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;

- (BOOL) hasDeprecated;
- (BOOL) deprecated;
- (PBMethodOptionsBuilder*) setDeprecated:(BOOL) value;
- (PBMethodOptionsBuilder*) clearDeprecated;

- (NSMutableArray<PBUninterpretedOption*> *)uninterpretedOption;
- (PBUninterpretedOption*)uninterpretedOptionAtIndex:(NSUInteger)index;
- (PBMethodOptionsBuilder *)addUninterpretedOption:(PBUninterpretedOption*)value;
- (PBMethodOptionsBuilder *)setUninterpretedOptionArray:(NSArray<PBUninterpretedOption*> *)array;
- (PBMethodOptionsBuilder *)clearUninterpretedOption;
@end

#define UninterpretedOption_name @"name"
#define UninterpretedOption_identifier_value @"identifierValue"
#define UninterpretedOption_positive_int_value @"positiveIntValue"
#define UninterpretedOption_negative_int_value @"negativeIntValue"
#define UninterpretedOption_double_value @"doubleValue"
#define UninterpretedOption_string_value @"stringValue"
#define UninterpretedOption_aggregate_value @"aggregateValue"
@interface PBUninterpretedOption : PBGeneratedMessage<GeneratedMessageProtocol> {
@private
  BOOL hasDoubleValue_:1;
  BOOL hasNegativeIntValue_:1;
  BOOL hasPositiveIntValue_:1;
  BOOL hasIdentifierValue_:1;
  BOOL hasAggregateValue_:1;
  BOOL hasStringValue_:1;
  Float64 doubleValue;
  SInt64 negativeIntValue;
  UInt64 positiveIntValue;
  NSString* identifierValue;
  NSString* aggregateValue;
  NSData* stringValue;
  NSMutableArray * nameArray;
}
- (BOOL) hasIdentifierValue;
- (BOOL) hasPositiveIntValue;
- (BOOL) hasNegativeIntValue;
- (BOOL) hasDoubleValue;
- (BOOL) hasStringValue;
- (BOOL) hasAggregateValue;
@property (readonly, strong) NSArray<PBUninterpretedOptionNamePart*> * name;
@property (readonly, strong) NSString* identifierValue;
@property (readonly) UInt64 positiveIntValue;
@property (readonly) SInt64 negativeIntValue;
@property (readonly) Float64 doubleValue;
@property (readonly, strong) NSData* stringValue;
@property (readonly, strong) NSString* aggregateValue;
- (PBUninterpretedOptionNamePart*)nameAtIndex:(NSUInteger)index;

+ (instancetype) defaultInstance;
- (instancetype) defaultInstance;

- (BOOL) isInitialized;
- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output;
- (PBUninterpretedOptionBuilder*) builder;
+ (PBUninterpretedOptionBuilder*) builder;
+ (PBUninterpretedOptionBuilder*) builderWithPrototype:(PBUninterpretedOption*) prototype;
- (PBUninterpretedOptionBuilder*) toBuilder;

+ (PBUninterpretedOption*) parseFromData:(NSData*) data;
+ (PBUninterpretedOption*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
+ (PBUninterpretedOption*) parseFromInputStream:(NSInputStream*) input;
+ (PBUninterpretedOption*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
+ (PBUninterpretedOption*) parseFromCodedInputStream:(PBCodedInputStream*) input;
+ (PBUninterpretedOption*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
@end

#define NamePart_name_part @"namePart"
#define NamePart_is_extension @"isExtension"
@interface PBUninterpretedOptionNamePart : PBGeneratedMessage<GeneratedMessageProtocol> {
@private
  BOOL hasIsExtension_:1;
  BOOL hasNamePart_:1;
  BOOL isExtension_:1;
  NSString* namePart;
}
- (BOOL) hasNamePart;
- (BOOL) hasIsExtension;
@property (readonly, strong) NSString* namePart;
- (BOOL) isExtension;

+ (instancetype) defaultInstance;
- (instancetype) defaultInstance;

- (BOOL) isInitialized;
- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output;
- (PBUninterpretedOptionNamePartBuilder*) builder;
+ (PBUninterpretedOptionNamePartBuilder*) builder;
+ (PBUninterpretedOptionNamePartBuilder*) builderWithPrototype:(PBUninterpretedOptionNamePart*) prototype;
- (PBUninterpretedOptionNamePartBuilder*) toBuilder;

+ (PBUninterpretedOptionNamePart*) parseFromData:(NSData*) data;
+ (PBUninterpretedOptionNamePart*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
+ (PBUninterpretedOptionNamePart*) parseFromInputStream:(NSInputStream*) input;
+ (PBUninterpretedOptionNamePart*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
+ (PBUninterpretedOptionNamePart*) parseFromCodedInputStream:(PBCodedInputStream*) input;
+ (PBUninterpretedOptionNamePart*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
@end

@interface PBUninterpretedOptionNamePartBuilder : PBGeneratedMessageBuilder {
@private
  PBUninterpretedOptionNamePart* resultNamePart;
}

- (PBUninterpretedOptionNamePart*) defaultInstance;

- (PBUninterpretedOptionNamePartBuilder*) clear;
- (PBUninterpretedOptionNamePartBuilder*) clone;

- (PBUninterpretedOptionNamePart*) build;
- (PBUninterpretedOptionNamePart*) buildPartial;

- (PBUninterpretedOptionNamePartBuilder*) mergeFrom:(PBUninterpretedOptionNamePart*) other;
- (PBUninterpretedOptionNamePartBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input;
- (PBUninterpretedOptionNamePartBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;

- (BOOL) hasNamePart;
- (NSString*) namePart;
- (PBUninterpretedOptionNamePartBuilder*) setNamePart:(NSString*) value;
- (PBUninterpretedOptionNamePartBuilder*) clearNamePart;

- (BOOL) hasIsExtension;
- (BOOL) isExtension;
- (PBUninterpretedOptionNamePartBuilder*) setIsExtension:(BOOL) value;
- (PBUninterpretedOptionNamePartBuilder*) clearIsExtension;
@end

@interface PBUninterpretedOptionBuilder : PBGeneratedMessageBuilder {
@private
  PBUninterpretedOption* resultUninterpretedOption;
}

- (PBUninterpretedOption*) defaultInstance;

- (PBUninterpretedOptionBuilder*) clear;
- (PBUninterpretedOptionBuilder*) clone;

- (PBUninterpretedOption*) build;
- (PBUninterpretedOption*) buildPartial;

- (PBUninterpretedOptionBuilder*) mergeFrom:(PBUninterpretedOption*) other;
- (PBUninterpretedOptionBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input;
- (PBUninterpretedOptionBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;

- (NSMutableArray<PBUninterpretedOptionNamePart*> *)name;
- (PBUninterpretedOptionNamePart*)nameAtIndex:(NSUInteger)index;
- (PBUninterpretedOptionBuilder *)addName:(PBUninterpretedOptionNamePart*)value;
- (PBUninterpretedOptionBuilder *)setNameArray:(NSArray<PBUninterpretedOptionNamePart*> *)array;
- (PBUninterpretedOptionBuilder *)clearName;

- (BOOL) hasIdentifierValue;
- (NSString*) identifierValue;
- (PBUninterpretedOptionBuilder*) setIdentifierValue:(NSString*) value;
- (PBUninterpretedOptionBuilder*) clearIdentifierValue;

- (BOOL) hasPositiveIntValue;
- (UInt64) positiveIntValue;
- (PBUninterpretedOptionBuilder*) setPositiveIntValue:(UInt64) value;
- (PBUninterpretedOptionBuilder*) clearPositiveIntValue;

- (BOOL) hasNegativeIntValue;
- (SInt64) negativeIntValue;
- (PBUninterpretedOptionBuilder*) setNegativeIntValue:(SInt64) value;
- (PBUninterpretedOptionBuilder*) clearNegativeIntValue;

- (BOOL) hasDoubleValue;
- (Float64) doubleValue;
- (PBUninterpretedOptionBuilder*) setDoubleValue:(Float64) value;
- (PBUninterpretedOptionBuilder*) clearDoubleValue;

- (BOOL) hasStringValue;
- (NSData*) stringValue;
- (PBUninterpretedOptionBuilder*) setStringValue:(NSData*) value;
- (PBUninterpretedOptionBuilder*) clearStringValue;

- (BOOL) hasAggregateValue;
- (NSString*) aggregateValue;
- (PBUninterpretedOptionBuilder*) setAggregateValue:(NSString*) value;
- (PBUninterpretedOptionBuilder*) clearAggregateValue;
@end

#define SourceCodeInfo_location @"location"
@interface PBSourceCodeInfo : PBGeneratedMessage<GeneratedMessageProtocol> {
@private
  NSMutableArray * locationArray;
}
@property (readonly, strong) NSArray<PBSourceCodeInfoLocation*> * location;
- (PBSourceCodeInfoLocation*)locationAtIndex:(NSUInteger)index;

+ (instancetype) defaultInstance;
- (instancetype) defaultInstance;

- (BOOL) isInitialized;
- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output;
- (PBSourceCodeInfoBuilder*) builder;
+ (PBSourceCodeInfoBuilder*) builder;
+ (PBSourceCodeInfoBuilder*) builderWithPrototype:(PBSourceCodeInfo*) prototype;
- (PBSourceCodeInfoBuilder*) toBuilder;

+ (PBSourceCodeInfo*) parseFromData:(NSData*) data;
+ (PBSourceCodeInfo*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
+ (PBSourceCodeInfo*) parseFromInputStream:(NSInputStream*) input;
+ (PBSourceCodeInfo*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
+ (PBSourceCodeInfo*) parseFromCodedInputStream:(PBCodedInputStream*) input;
+ (PBSourceCodeInfo*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
@end

#define Location_path @"path"
#define Location_span @"span"
#define Location_leading_comments @"leadingComments"
#define Location_trailing_comments @"trailingComments"
@interface PBSourceCodeInfoLocation : PBGeneratedMessage<GeneratedMessageProtocol> {
@private
  BOOL hasLeadingComments_:1;
  BOOL hasTrailingComments_:1;
  NSString* leadingComments;
  NSString* trailingComments;
  PBAppendableArray * pathArray;
  SInt32 pathMemoizedSerializedSize;
  PBAppendableArray * spanArray;
  SInt32 spanMemoizedSerializedSize;
}
- (BOOL) hasLeadingComments;
- (BOOL) hasTrailingComments;
@property (readonly, strong) PBArray * path;
@property (readonly, strong) PBArray * span;
@property (readonly, strong) NSString* leadingComments;
@property (readonly, strong) NSString* trailingComments;
- (SInt32)pathAtIndex:(NSUInteger)index;
- (SInt32)spanAtIndex:(NSUInteger)index;

+ (instancetype) defaultInstance;
- (instancetype) defaultInstance;

- (BOOL) isInitialized;
- (void) writeToCodedOutputStream:(PBCodedOutputStream*) output;
- (PBSourceCodeInfoLocationBuilder*) builder;
+ (PBSourceCodeInfoLocationBuilder*) builder;
+ (PBSourceCodeInfoLocationBuilder*) builderWithPrototype:(PBSourceCodeInfoLocation*) prototype;
- (PBSourceCodeInfoLocationBuilder*) toBuilder;

+ (PBSourceCodeInfoLocation*) parseFromData:(NSData*) data;
+ (PBSourceCodeInfoLocation*) parseFromData:(NSData*) data extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
+ (PBSourceCodeInfoLocation*) parseFromInputStream:(NSInputStream*) input;
+ (PBSourceCodeInfoLocation*) parseFromInputStream:(NSInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
+ (PBSourceCodeInfoLocation*) parseFromCodedInputStream:(PBCodedInputStream*) input;
+ (PBSourceCodeInfoLocation*) parseFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;
@end

@interface PBSourceCodeInfoLocationBuilder : PBGeneratedMessageBuilder {
@private
  PBSourceCodeInfoLocation* resultLocation;
}

- (PBSourceCodeInfoLocation*) defaultInstance;

- (PBSourceCodeInfoLocationBuilder*) clear;
- (PBSourceCodeInfoLocationBuilder*) clone;

- (PBSourceCodeInfoLocation*) build;
- (PBSourceCodeInfoLocation*) buildPartial;

- (PBSourceCodeInfoLocationBuilder*) mergeFrom:(PBSourceCodeInfoLocation*) other;
- (PBSourceCodeInfoLocationBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input;
- (PBSourceCodeInfoLocationBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;

- (PBAppendableArray *)path;
- (SInt32)pathAtIndex:(NSUInteger)index;
- (PBSourceCodeInfoLocationBuilder *)addPath:(SInt32)value;
- (PBSourceCodeInfoLocationBuilder *)setPathArray:(NSArray *)array;
- (PBSourceCodeInfoLocationBuilder *)setPathValues:(const SInt32 *)values count:(NSUInteger)count;
- (PBSourceCodeInfoLocationBuilder *)clearPath;

- (PBAppendableArray *)span;
- (SInt32)spanAtIndex:(NSUInteger)index;
- (PBSourceCodeInfoLocationBuilder *)addSpan:(SInt32)value;
- (PBSourceCodeInfoLocationBuilder *)setSpanArray:(NSArray *)array;
- (PBSourceCodeInfoLocationBuilder *)setSpanValues:(const SInt32 *)values count:(NSUInteger)count;
- (PBSourceCodeInfoLocationBuilder *)clearSpan;

- (BOOL) hasLeadingComments;
- (NSString*) leadingComments;
- (PBSourceCodeInfoLocationBuilder*) setLeadingComments:(NSString*) value;
- (PBSourceCodeInfoLocationBuilder*) clearLeadingComments;

- (BOOL) hasTrailingComments;
- (NSString*) trailingComments;
- (PBSourceCodeInfoLocationBuilder*) setTrailingComments:(NSString*) value;
- (PBSourceCodeInfoLocationBuilder*) clearTrailingComments;
@end

@interface PBSourceCodeInfoBuilder : PBGeneratedMessageBuilder {
@private
  PBSourceCodeInfo* resultSourceCodeInfo;
}

- (PBSourceCodeInfo*) defaultInstance;

- (PBSourceCodeInfoBuilder*) clear;
- (PBSourceCodeInfoBuilder*) clone;

- (PBSourceCodeInfo*) build;
- (PBSourceCodeInfo*) buildPartial;

- (PBSourceCodeInfoBuilder*) mergeFrom:(PBSourceCodeInfo*) other;
- (PBSourceCodeInfoBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input;
- (PBSourceCodeInfoBuilder*) mergeFromCodedInputStream:(PBCodedInputStream*) input extensionRegistry:(PBExtensionRegistry*) extensionRegistry;

- (NSMutableArray<PBSourceCodeInfoLocation*> *)location;
- (PBSourceCodeInfoLocation*)locationAtIndex:(NSUInteger)index;
- (PBSourceCodeInfoBuilder *)addLocation:(PBSourceCodeInfoLocation*)value;
- (PBSourceCodeInfoBuilder *)setLocationArray:(NSArray<PBSourceCodeInfoLocation*> *)array;
- (PBSourceCodeInfoBuilder *)clearLocation;
@end


// @@protoc_insertion_point(global_scope)
