@bufbuild/protobuf
Version:
A complete implementation of Protocol Buffers in TypeScript, suitable for web browsers and Node.js.
1,438 lines • 155 kB
TypeScript
import type { GenEnum, GenFile, GenMessage } from "../../../../codegenv2/types.js";
import type { Message } from "../../../../types.js";
/**
* Describes the file google/protobuf/descriptor.proto.
*/
export declare const file_google_protobuf_descriptor: GenFile;
/**
* The protocol compiler can output a FileDescriptorSet containing the .proto
* files it parses.
*
* @generated from message google.protobuf.FileDescriptorSet
*/
export type FileDescriptorSet = Message<"google.protobuf.FileDescriptorSet"> & {
/**
* @generated from field: repeated google.protobuf.FileDescriptorProto file = 1;
*/
file: FileDescriptorProto[];
};
/**
* The protocol compiler can output a FileDescriptorSet containing the .proto
* files it parses.
*
* @generated from message google.protobuf.FileDescriptorSet
*/
export type FileDescriptorSetJson = {
/**
* @generated from field: repeated google.protobuf.FileDescriptorProto file = 1;
*/
file?: FileDescriptorProtoJson[];
};
/**
* Describes the message google.protobuf.FileDescriptorSet.
* Use `create(FileDescriptorSetSchema)` to create a new message.
*/
export declare const FileDescriptorSetSchema: GenMessage<FileDescriptorSet, {
jsonType: FileDescriptorSetJson;
}>;
/**
* Describes a complete .proto file.
*
* @generated from message google.protobuf.FileDescriptorProto
*/
export type FileDescriptorProto = Message<"google.protobuf.FileDescriptorProto"> & {
/**
* file name, relative to root of source tree
*
* @generated from field: optional string name = 1;
*/
name: string;
/**
* e.g. "foo", "foo.bar", etc.
*
* @generated from field: optional string package = 2;
*/
package: string;
/**
* Names of files imported by this file.
*
* @generated from field: repeated string dependency = 3;
*/
dependency: string[];
/**
* Indexes of the public imported files in the dependency list above.
*
* @generated from field: repeated int32 public_dependency = 10;
*/
publicDependency: number[];
/**
* Indexes of the weak imported files in the dependency list.
* For Google-internal migration only. Do not use.
*
* @generated from field: repeated int32 weak_dependency = 11;
*/
weakDependency: number[];
/**
* Names of files imported by this file purely for the purpose of providing
* option extensions. These are excluded from the dependency list above.
*
* @generated from field: repeated string option_dependency = 15;
*/
optionDependency: string[];
/**
* All top-level definitions in this file.
*
* @generated from field: repeated google.protobuf.DescriptorProto message_type = 4;
*/
messageType: DescriptorProto[];
/**
* @generated from field: repeated google.protobuf.EnumDescriptorProto enum_type = 5;
*/
enumType: EnumDescriptorProto[];
/**
* @generated from field: repeated google.protobuf.ServiceDescriptorProto service = 6;
*/
service: ServiceDescriptorProto[];
/**
* @generated from field: repeated google.protobuf.FieldDescriptorProto extension = 7;
*/
extension: FieldDescriptorProto[];
/**
* @generated from field: optional google.protobuf.FileOptions options = 8;
*/
options?: FileOptions;
/**
* This field contains optional information about the original source code.
* You may safely remove this entire field without harming runtime
* functionality of the descriptors -- the information is needed only by
* development tools.
*
* @generated from field: optional google.protobuf.SourceCodeInfo source_code_info = 9;
*/
sourceCodeInfo?: SourceCodeInfo;
/**
* The syntax of the proto file.
* The supported values are "proto2", "proto3", and "editions".
*
* If `edition` is present, this value must be "editions".
* WARNING: This field should only be used by protobuf plugins or special
* cases like the proto compiler. Other uses are discouraged and
* developers should rely on the protoreflect APIs for their client language.
*
* @generated from field: optional string syntax = 12;
*/
syntax: string;
/**
* The edition of the proto file.
* WARNING: This field should only be used by protobuf plugins or special
* cases like the proto compiler. Other uses are discouraged and
* developers should rely on the protoreflect APIs for their client language.
*
* @generated from field: optional google.protobuf.Edition edition = 14;
*/
edition: Edition;
};
/**
* Describes a complete .proto file.
*
* @generated from message google.protobuf.FileDescriptorProto
*/
export type FileDescriptorProtoJson = {
/**
* file name, relative to root of source tree
*
* @generated from field: optional string name = 1;
*/
name?: string;
/**
* e.g. "foo", "foo.bar", etc.
*
* @generated from field: optional string package = 2;
*/
package?: string;
/**
* Names of files imported by this file.
*
* @generated from field: repeated string dependency = 3;
*/
dependency?: string[];
/**
* Indexes of the public imported files in the dependency list above.
*
* @generated from field: repeated int32 public_dependency = 10;
*/
publicDependency?: number[];
/**
* Indexes of the weak imported files in the dependency list.
* For Google-internal migration only. Do not use.
*
* @generated from field: repeated int32 weak_dependency = 11;
*/
weakDependency?: number[];
/**
* Names of files imported by this file purely for the purpose of providing
* option extensions. These are excluded from the dependency list above.
*
* @generated from field: repeated string option_dependency = 15;
*/
optionDependency?: string[];
/**
* All top-level definitions in this file.
*
* @generated from field: repeated google.protobuf.DescriptorProto message_type = 4;
*/
messageType?: DescriptorProtoJson[];
/**
* @generated from field: repeated google.protobuf.EnumDescriptorProto enum_type = 5;
*/
enumType?: EnumDescriptorProtoJson[];
/**
* @generated from field: repeated google.protobuf.ServiceDescriptorProto service = 6;
*/
service?: ServiceDescriptorProtoJson[];
/**
* @generated from field: repeated google.protobuf.FieldDescriptorProto extension = 7;
*/
extension?: FieldDescriptorProtoJson[];
/**
* @generated from field: optional google.protobuf.FileOptions options = 8;
*/
options?: FileOptionsJson;
/**
* This field contains optional information about the original source code.
* You may safely remove this entire field without harming runtime
* functionality of the descriptors -- the information is needed only by
* development tools.
*
* @generated from field: optional google.protobuf.SourceCodeInfo source_code_info = 9;
*/
sourceCodeInfo?: SourceCodeInfoJson;
/**
* The syntax of the proto file.
* The supported values are "proto2", "proto3", and "editions".
*
* If `edition` is present, this value must be "editions".
* WARNING: This field should only be used by protobuf plugins or special
* cases like the proto compiler. Other uses are discouraged and
* developers should rely on the protoreflect APIs for their client language.
*
* @generated from field: optional string syntax = 12;
*/
syntax?: string;
/**
* The edition of the proto file.
* WARNING: This field should only be used by protobuf plugins or special
* cases like the proto compiler. Other uses are discouraged and
* developers should rely on the protoreflect APIs for their client language.
*
* @generated from field: optional google.protobuf.Edition edition = 14;
*/
edition?: EditionJson;
};
/**
* Describes the message google.protobuf.FileDescriptorProto.
* Use `create(FileDescriptorProtoSchema)` to create a new message.
*/
export declare const FileDescriptorProtoSchema: GenMessage<FileDescriptorProto, {
jsonType: FileDescriptorProtoJson;
}>;
/**
* Describes a message type.
*
* @generated from message google.protobuf.DescriptorProto
*/
export type DescriptorProto = Message<"google.protobuf.DescriptorProto"> & {
/**
* @generated from field: optional string name = 1;
*/
name: string;
/**
* @generated from field: repeated google.protobuf.FieldDescriptorProto field = 2;
*/
field: FieldDescriptorProto[];
/**
* @generated from field: repeated google.protobuf.FieldDescriptorProto extension = 6;
*/
extension: FieldDescriptorProto[];
/**
* @generated from field: repeated google.protobuf.DescriptorProto nested_type = 3;
*/
nestedType: DescriptorProto[];
/**
* @generated from field: repeated google.protobuf.EnumDescriptorProto enum_type = 4;
*/
enumType: EnumDescriptorProto[];
/**
* @generated from field: repeated google.protobuf.DescriptorProto.ExtensionRange extension_range = 5;
*/
extensionRange: DescriptorProto_ExtensionRange[];
/**
* @generated from field: repeated google.protobuf.OneofDescriptorProto oneof_decl = 8;
*/
oneofDecl: OneofDescriptorProto[];
/**
* @generated from field: optional google.protobuf.MessageOptions options = 7;
*/
options?: MessageOptions;
/**
* @generated from field: repeated google.protobuf.DescriptorProto.ReservedRange reserved_range = 9;
*/
reservedRange: DescriptorProto_ReservedRange[];
/**
* Reserved field names, which may not be used by fields in the same message.
* A given name may only be reserved once.
*
* @generated from field: repeated string reserved_name = 10;
*/
reservedName: string[];
/**
* Support for `export` and `local` keywords on enums.
*
* @generated from field: optional google.protobuf.SymbolVisibility visibility = 11;
*/
visibility: SymbolVisibility;
};
/**
* Describes a message type.
*
* @generated from message google.protobuf.DescriptorProto
*/
export type DescriptorProtoJson = {
/**
* @generated from field: optional string name = 1;
*/
name?: string;
/**
* @generated from field: repeated google.protobuf.FieldDescriptorProto field = 2;
*/
field?: FieldDescriptorProtoJson[];
/**
* @generated from field: repeated google.protobuf.FieldDescriptorProto extension = 6;
*/
extension?: FieldDescriptorProtoJson[];
/**
* @generated from field: repeated google.protobuf.DescriptorProto nested_type = 3;
*/
nestedType?: DescriptorProtoJson[];
/**
* @generated from field: repeated google.protobuf.EnumDescriptorProto enum_type = 4;
*/
enumType?: EnumDescriptorProtoJson[];
/**
* @generated from field: repeated google.protobuf.DescriptorProto.ExtensionRange extension_range = 5;
*/
extensionRange?: DescriptorProto_ExtensionRangeJson[];
/**
* @generated from field: repeated google.protobuf.OneofDescriptorProto oneof_decl = 8;
*/
oneofDecl?: OneofDescriptorProtoJson[];
/**
* @generated from field: optional google.protobuf.MessageOptions options = 7;
*/
options?: MessageOptionsJson;
/**
* @generated from field: repeated google.protobuf.DescriptorProto.ReservedRange reserved_range = 9;
*/
reservedRange?: DescriptorProto_ReservedRangeJson[];
/**
* Reserved field names, which may not be used by fields in the same message.
* A given name may only be reserved once.
*
* @generated from field: repeated string reserved_name = 10;
*/
reservedName?: string[];
/**
* Support for `export` and `local` keywords on enums.
*
* @generated from field: optional google.protobuf.SymbolVisibility visibility = 11;
*/
visibility?: SymbolVisibilityJson;
};
/**
* Describes the message google.protobuf.DescriptorProto.
* Use `create(DescriptorProtoSchema)` to create a new message.
*/
export declare const DescriptorProtoSchema: GenMessage<DescriptorProto, {
jsonType: DescriptorProtoJson;
}>;
/**
* @generated from message google.protobuf.DescriptorProto.ExtensionRange
*/
export type DescriptorProto_ExtensionRange = Message<"google.protobuf.DescriptorProto.ExtensionRange"> & {
/**
* Inclusive.
*
* @generated from field: optional int32 start = 1;
*/
start: number;
/**
* Exclusive.
*
* @generated from field: optional int32 end = 2;
*/
end: number;
/**
* @generated from field: optional google.protobuf.ExtensionRangeOptions options = 3;
*/
options?: ExtensionRangeOptions;
};
/**
* @generated from message google.protobuf.DescriptorProto.ExtensionRange
*/
export type DescriptorProto_ExtensionRangeJson = {
/**
* Inclusive.
*
* @generated from field: optional int32 start = 1;
*/
start?: number;
/**
* Exclusive.
*
* @generated from field: optional int32 end = 2;
*/
end?: number;
/**
* @generated from field: optional google.protobuf.ExtensionRangeOptions options = 3;
*/
options?: ExtensionRangeOptionsJson;
};
/**
* Describes the message google.protobuf.DescriptorProto.ExtensionRange.
* Use `create(DescriptorProto_ExtensionRangeSchema)` to create a new message.
*/
export declare const DescriptorProto_ExtensionRangeSchema: GenMessage<DescriptorProto_ExtensionRange, {
jsonType: DescriptorProto_ExtensionRangeJson;
}>;
/**
* Range of reserved tag numbers. Reserved tag numbers may not be used by
* fields or extension ranges in the same message. Reserved ranges may
* not overlap.
*
* @generated from message google.protobuf.DescriptorProto.ReservedRange
*/
export type DescriptorProto_ReservedRange = Message<"google.protobuf.DescriptorProto.ReservedRange"> & {
/**
* Inclusive.
*
* @generated from field: optional int32 start = 1;
*/
start: number;
/**
* Exclusive.
*
* @generated from field: optional int32 end = 2;
*/
end: number;
};
/**
* Range of reserved tag numbers. Reserved tag numbers may not be used by
* fields or extension ranges in the same message. Reserved ranges may
* not overlap.
*
* @generated from message google.protobuf.DescriptorProto.ReservedRange
*/
export type DescriptorProto_ReservedRangeJson = {
/**
* Inclusive.
*
* @generated from field: optional int32 start = 1;
*/
start?: number;
/**
* Exclusive.
*
* @generated from field: optional int32 end = 2;
*/
end?: number;
};
/**
* Describes the message google.protobuf.DescriptorProto.ReservedRange.
* Use `create(DescriptorProto_ReservedRangeSchema)` to create a new message.
*/
export declare const DescriptorProto_ReservedRangeSchema: GenMessage<DescriptorProto_ReservedRange, {
jsonType: DescriptorProto_ReservedRangeJson;
}>;
/**
* @generated from message google.protobuf.ExtensionRangeOptions
*/
export type ExtensionRangeOptions = Message<"google.protobuf.ExtensionRangeOptions"> & {
/**
* The parser stores options it doesn't recognize here. See above.
*
* @generated from field: repeated google.protobuf.UninterpretedOption uninterpreted_option = 999;
*/
uninterpretedOption: UninterpretedOption[];
/**
* For external users: DO NOT USE. We are in the process of open sourcing
* extension declaration and executing internal cleanups before it can be
* used externally.
*
* @generated from field: repeated google.protobuf.ExtensionRangeOptions.Declaration declaration = 2;
*/
declaration: ExtensionRangeOptions_Declaration[];
/**
* Any features defined in the specific edition.
*
* @generated from field: optional google.protobuf.FeatureSet features = 50;
*/
features?: FeatureSet;
/**
* The verification state of the range.
* TODO: flip the default to DECLARATION once all empty ranges
* are marked as UNVERIFIED.
*
* @generated from field: optional google.protobuf.ExtensionRangeOptions.VerificationState verification = 3 [default = UNVERIFIED];
*/
verification: ExtensionRangeOptions_VerificationState;
};
/**
* @generated from message google.protobuf.ExtensionRangeOptions
*/
export type ExtensionRangeOptionsJson = {
/**
* The parser stores options it doesn't recognize here. See above.
*
* @generated from field: repeated google.protobuf.UninterpretedOption uninterpreted_option = 999;
*/
uninterpretedOption?: UninterpretedOptionJson[];
/**
* For external users: DO NOT USE. We are in the process of open sourcing
* extension declaration and executing internal cleanups before it can be
* used externally.
*
* @generated from field: repeated google.protobuf.ExtensionRangeOptions.Declaration declaration = 2;
*/
declaration?: ExtensionRangeOptions_DeclarationJson[];
/**
* Any features defined in the specific edition.
*
* @generated from field: optional google.protobuf.FeatureSet features = 50;
*/
features?: FeatureSetJson;
/**
* The verification state of the range.
* TODO: flip the default to DECLARATION once all empty ranges
* are marked as UNVERIFIED.
*
* @generated from field: optional google.protobuf.ExtensionRangeOptions.VerificationState verification = 3 [default = UNVERIFIED];
*/
verification?: ExtensionRangeOptions_VerificationStateJson;
};
/**
* Describes the message google.protobuf.ExtensionRangeOptions.
* Use `create(ExtensionRangeOptionsSchema)` to create a new message.
*/
export declare const ExtensionRangeOptionsSchema: GenMessage<ExtensionRangeOptions, {
jsonType: ExtensionRangeOptionsJson;
}>;
/**
* @generated from message google.protobuf.ExtensionRangeOptions.Declaration
*/
export type ExtensionRangeOptions_Declaration = Message<"google.protobuf.ExtensionRangeOptions.Declaration"> & {
/**
* The extension number declared within the extension range.
*
* @generated from field: optional int32 number = 1;
*/
number: number;
/**
* The fully-qualified name of the extension field. There must be a leading
* dot in front of the full name.
*
* @generated from field: optional string full_name = 2;
*/
fullName: string;
/**
* The fully-qualified type name of the extension field. Unlike
* Metadata.type, Declaration.type must have a leading dot for messages
* and enums.
*
* @generated from field: optional string type = 3;
*/
type: string;
/**
* If true, indicates that the number is reserved in the extension range,
* and any extension field with the number will fail to compile. Set this
* when a declared extension field is deleted.
*
* @generated from field: optional bool reserved = 5;
*/
reserved: boolean;
/**
* If true, indicates that the extension must be defined as repeated.
* Otherwise the extension must be defined as optional.
*
* @generated from field: optional bool repeated = 6;
*/
repeated: boolean;
};
/**
* @generated from message google.protobuf.ExtensionRangeOptions.Declaration
*/
export type ExtensionRangeOptions_DeclarationJson = {
/**
* The extension number declared within the extension range.
*
* @generated from field: optional int32 number = 1;
*/
number?: number;
/**
* The fully-qualified name of the extension field. There must be a leading
* dot in front of the full name.
*
* @generated from field: optional string full_name = 2;
*/
fullName?: string;
/**
* The fully-qualified type name of the extension field. Unlike
* Metadata.type, Declaration.type must have a leading dot for messages
* and enums.
*
* @generated from field: optional string type = 3;
*/
type?: string;
/**
* If true, indicates that the number is reserved in the extension range,
* and any extension field with the number will fail to compile. Set this
* when a declared extension field is deleted.
*
* @generated from field: optional bool reserved = 5;
*/
reserved?: boolean;
/**
* If true, indicates that the extension must be defined as repeated.
* Otherwise the extension must be defined as optional.
*
* @generated from field: optional bool repeated = 6;
*/
repeated?: boolean;
};
/**
* Describes the message google.protobuf.ExtensionRangeOptions.Declaration.
* Use `create(ExtensionRangeOptions_DeclarationSchema)` to create a new message.
*/
export declare const ExtensionRangeOptions_DeclarationSchema: GenMessage<ExtensionRangeOptions_Declaration, {
jsonType: ExtensionRangeOptions_DeclarationJson;
}>;
/**
* The verification state of the extension range.
*
* @generated from enum google.protobuf.ExtensionRangeOptions.VerificationState
*/
export declare enum ExtensionRangeOptions_VerificationState {
/**
* All the extensions of the range must be declared.
*
* @generated from enum value: DECLARATION = 0;
*/
DECLARATION = 0,
/**
* @generated from enum value: UNVERIFIED = 1;
*/
UNVERIFIED = 1
}
/**
* The verification state of the extension range.
*
* @generated from enum google.protobuf.ExtensionRangeOptions.VerificationState
*/
export type ExtensionRangeOptions_VerificationStateJson = "DECLARATION" | "UNVERIFIED";
/**
* Describes the enum google.protobuf.ExtensionRangeOptions.VerificationState.
*/
export declare const ExtensionRangeOptions_VerificationStateSchema: GenEnum<ExtensionRangeOptions_VerificationState, ExtensionRangeOptions_VerificationStateJson>;
/**
* Describes a field within a message.
*
* @generated from message google.protobuf.FieldDescriptorProto
*/
export type FieldDescriptorProto = Message<"google.protobuf.FieldDescriptorProto"> & {
/**
* @generated from field: optional string name = 1;
*/
name: string;
/**
* @generated from field: optional int32 number = 3;
*/
number: number;
/**
* @generated from field: optional google.protobuf.FieldDescriptorProto.Label label = 4;
*/
label: FieldDescriptorProto_Label;
/**
* If type_name is set, this need not be set. If both this and type_name
* are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP.
*
* @generated from field: optional google.protobuf.FieldDescriptorProto.Type type = 5;
*/
type: FieldDescriptorProto_Type;
/**
* For message and enum types, this is the name of the type. If the name
* starts with a '.', it is fully-qualified. Otherwise, C++-like scoping
* rules are used to find the type (i.e. first the nested types within this
* message are searched, then within the parent, on up to the root
* namespace).
*
* @generated from field: optional string type_name = 6;
*/
typeName: string;
/**
* For extensions, this is the name of the type being extended. It is
* resolved in the same manner as type_name.
*
* @generated from field: optional string extendee = 2;
*/
extendee: string;
/**
* For numeric types, contains the original text representation of the value.
* For booleans, "true" or "false".
* For strings, contains the default text contents (not escaped in any way).
* For bytes, contains the C escaped value. All bytes >= 128 are escaped.
*
* @generated from field: optional string default_value = 7;
*/
defaultValue: string;
/**
* If set, gives the index of a oneof in the containing type's oneof_decl
* list. This field is a member of that oneof.
*
* @generated from field: optional int32 oneof_index = 9;
*/
oneofIndex: number;
/**
* JSON name of this field. The value is set by protocol compiler. If the
* user has set a "json_name" option on this field, that option's value
* will be used. Otherwise, it's deduced from the field's name by converting
* it to camelCase.
*
* @generated from field: optional string json_name = 10;
*/
jsonName: string;
/**
* @generated from field: optional google.protobuf.FieldOptions options = 8;
*/
options?: FieldOptions;
/**
* If true, this is a proto3 "optional". When a proto3 field is optional, it
* tracks presence regardless of field type.
*
* When proto3_optional is true, this field must belong to a oneof to signal
* to old proto3 clients that presence is tracked for this field. This oneof
* is known as a "synthetic" oneof, and this field must be its sole member
* (each proto3 optional field gets its own synthetic oneof). Synthetic oneofs
* exist in the descriptor only, and do not generate any API. Synthetic oneofs
* must be ordered after all "real" oneofs.
*
* For message fields, proto3_optional doesn't create any semantic change,
* since non-repeated message fields always track presence. However it still
* indicates the semantic detail of whether the user wrote "optional" or not.
* This can be useful for round-tripping the .proto file. For consistency we
* give message fields a synthetic oneof also, even though it is not required
* to track presence. This is especially important because the parser can't
* tell if a field is a message or an enum, so it must always create a
* synthetic oneof.
*
* Proto2 optional fields do not set this flag, because they already indicate
* optional with `LABEL_OPTIONAL`.
*
* @generated from field: optional bool proto3_optional = 17;
*/
proto3Optional: boolean;
};
/**
* Describes a field within a message.
*
* @generated from message google.protobuf.FieldDescriptorProto
*/
export type FieldDescriptorProtoJson = {
/**
* @generated from field: optional string name = 1;
*/
name?: string;
/**
* @generated from field: optional int32 number = 3;
*/
number?: number;
/**
* @generated from field: optional google.protobuf.FieldDescriptorProto.Label label = 4;
*/
label?: FieldDescriptorProto_LabelJson;
/**
* If type_name is set, this need not be set. If both this and type_name
* are set, this must be one of TYPE_ENUM, TYPE_MESSAGE or TYPE_GROUP.
*
* @generated from field: optional google.protobuf.FieldDescriptorProto.Type type = 5;
*/
type?: FieldDescriptorProto_TypeJson;
/**
* For message and enum types, this is the name of the type. If the name
* starts with a '.', it is fully-qualified. Otherwise, C++-like scoping
* rules are used to find the type (i.e. first the nested types within this
* message are searched, then within the parent, on up to the root
* namespace).
*
* @generated from field: optional string type_name = 6;
*/
typeName?: string;
/**
* For extensions, this is the name of the type being extended. It is
* resolved in the same manner as type_name.
*
* @generated from field: optional string extendee = 2;
*/
extendee?: string;
/**
* For numeric types, contains the original text representation of the value.
* For booleans, "true" or "false".
* For strings, contains the default text contents (not escaped in any way).
* For bytes, contains the C escaped value. All bytes >= 128 are escaped.
*
* @generated from field: optional string default_value = 7;
*/
defaultValue?: string;
/**
* If set, gives the index of a oneof in the containing type's oneof_decl
* list. This field is a member of that oneof.
*
* @generated from field: optional int32 oneof_index = 9;
*/
oneofIndex?: number;
/**
* JSON name of this field. The value is set by protocol compiler. If the
* user has set a "json_name" option on this field, that option's value
* will be used. Otherwise, it's deduced from the field's name by converting
* it to camelCase.
*
* @generated from field: optional string json_name = 10;
*/
jsonName?: string;
/**
* @generated from field: optional google.protobuf.FieldOptions options = 8;
*/
options?: FieldOptionsJson;
/**
* If true, this is a proto3 "optional". When a proto3 field is optional, it
* tracks presence regardless of field type.
*
* When proto3_optional is true, this field must belong to a oneof to signal
* to old proto3 clients that presence is tracked for this field. This oneof
* is known as a "synthetic" oneof, and this field must be its sole member
* (each proto3 optional field gets its own synthetic oneof). Synthetic oneofs
* exist in the descriptor only, and do not generate any API. Synthetic oneofs
* must be ordered after all "real" oneofs.
*
* For message fields, proto3_optional doesn't create any semantic change,
* since non-repeated message fields always track presence. However it still
* indicates the semantic detail of whether the user wrote "optional" or not.
* This can be useful for round-tripping the .proto file. For consistency we
* give message fields a synthetic oneof also, even though it is not required
* to track presence. This is especially important because the parser can't
* tell if a field is a message or an enum, so it must always create a
* synthetic oneof.
*
* Proto2 optional fields do not set this flag, because they already indicate
* optional with `LABEL_OPTIONAL`.
*
* @generated from field: optional bool proto3_optional = 17;
*/
proto3Optional?: boolean;
};
/**
* Describes the message google.protobuf.FieldDescriptorProto.
* Use `create(FieldDescriptorProtoSchema)` to create a new message.
*/
export declare const FieldDescriptorProtoSchema: GenMessage<FieldDescriptorProto, {
jsonType: FieldDescriptorProtoJson;
}>;
/**
* @generated from enum google.protobuf.FieldDescriptorProto.Type
*/
export declare enum FieldDescriptorProto_Type {
/**
* 0 is reserved for errors.
* Order is weird for historical reasons.
*
* @generated from enum value: TYPE_DOUBLE = 1;
*/
DOUBLE = 1,
/**
* @generated from enum value: TYPE_FLOAT = 2;
*/
FLOAT = 2,
/**
* Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if
* negative values are likely.
*
* @generated from enum value: TYPE_INT64 = 3;
*/
INT64 = 3,
/**
* @generated from enum value: TYPE_UINT64 = 4;
*/
UINT64 = 4,
/**
* Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if
* negative values are likely.
*
* @generated from enum value: TYPE_INT32 = 5;
*/
INT32 = 5,
/**
* @generated from enum value: TYPE_FIXED64 = 6;
*/
FIXED64 = 6,
/**
* @generated from enum value: TYPE_FIXED32 = 7;
*/
FIXED32 = 7,
/**
* @generated from enum value: TYPE_BOOL = 8;
*/
BOOL = 8,
/**
* @generated from enum value: TYPE_STRING = 9;
*/
STRING = 9,
/**
* Tag-delimited aggregate.
* Group type is deprecated and not supported after google.protobuf. However, Proto3
* implementations should still be able to parse the group wire format and
* treat group fields as unknown fields. In Editions, the group wire format
* can be enabled via the `message_encoding` feature.
*
* @generated from enum value: TYPE_GROUP = 10;
*/
GROUP = 10,
/**
* Length-delimited aggregate.
*
* @generated from enum value: TYPE_MESSAGE = 11;
*/
MESSAGE = 11,
/**
* New in version 2.
*
* @generated from enum value: TYPE_BYTES = 12;
*/
BYTES = 12,
/**
* @generated from enum value: TYPE_UINT32 = 13;
*/
UINT32 = 13,
/**
* @generated from enum value: TYPE_ENUM = 14;
*/
ENUM = 14,
/**
* @generated from enum value: TYPE_SFIXED32 = 15;
*/
SFIXED32 = 15,
/**
* @generated from enum value: TYPE_SFIXED64 = 16;
*/
SFIXED64 = 16,
/**
* Uses ZigZag encoding.
*
* @generated from enum value: TYPE_SINT32 = 17;
*/
SINT32 = 17,
/**
* Uses ZigZag encoding.
*
* @generated from enum value: TYPE_SINT64 = 18;
*/
SINT64 = 18
}
/**
* @generated from enum google.protobuf.FieldDescriptorProto.Type
*/
export type FieldDescriptorProto_TypeJson = "TYPE_DOUBLE" | "TYPE_FLOAT" | "TYPE_INT64" | "TYPE_UINT64" | "TYPE_INT32" | "TYPE_FIXED64" | "TYPE_FIXED32" | "TYPE_BOOL" | "TYPE_STRING" | "TYPE_GROUP" | "TYPE_MESSAGE" | "TYPE_BYTES" | "TYPE_UINT32" | "TYPE_ENUM" | "TYPE_SFIXED32" | "TYPE_SFIXED64" | "TYPE_SINT32" | "TYPE_SINT64";
/**
* Describes the enum google.protobuf.FieldDescriptorProto.Type.
*/
export declare const FieldDescriptorProto_TypeSchema: GenEnum<FieldDescriptorProto_Type, FieldDescriptorProto_TypeJson>;
/**
* @generated from enum google.protobuf.FieldDescriptorProto.Label
*/
export declare enum FieldDescriptorProto_Label {
/**
* 0 is reserved for errors
*
* @generated from enum value: LABEL_OPTIONAL = 1;
*/
OPTIONAL = 1,
/**
* @generated from enum value: LABEL_REPEATED = 3;
*/
REPEATED = 3,
/**
* The required label is only allowed in google.protobuf. In proto3 and Editions
* it's explicitly prohibited. In Editions, the `field_presence` feature
* can be used to get this behavior.
*
* @generated from enum value: LABEL_REQUIRED = 2;
*/
REQUIRED = 2
}
/**
* @generated from enum google.protobuf.FieldDescriptorProto.Label
*/
export type FieldDescriptorProto_LabelJson = "LABEL_OPTIONAL" | "LABEL_REPEATED" | "LABEL_REQUIRED";
/**
* Describes the enum google.protobuf.FieldDescriptorProto.Label.
*/
export declare const FieldDescriptorProto_LabelSchema: GenEnum<FieldDescriptorProto_Label, FieldDescriptorProto_LabelJson>;
/**
* Describes a oneof.
*
* @generated from message google.protobuf.OneofDescriptorProto
*/
export type OneofDescriptorProto = Message<"google.protobuf.OneofDescriptorProto"> & {
/**
* @generated from field: optional string name = 1;
*/
name: string;
/**
* @generated from field: optional google.protobuf.OneofOptions options = 2;
*/
options?: OneofOptions;
};
/**
* Describes a oneof.
*
* @generated from message google.protobuf.OneofDescriptorProto
*/
export type OneofDescriptorProtoJson = {
/**
* @generated from field: optional string name = 1;
*/
name?: string;
/**
* @generated from field: optional google.protobuf.OneofOptions options = 2;
*/
options?: OneofOptionsJson;
};
/**
* Describes the message google.protobuf.OneofDescriptorProto.
* Use `create(OneofDescriptorProtoSchema)` to create a new message.
*/
export declare const OneofDescriptorProtoSchema: GenMessage<OneofDescriptorProto, {
jsonType: OneofDescriptorProtoJson;
}>;
/**
* Describes an enum type.
*
* @generated from message google.protobuf.EnumDescriptorProto
*/
export type EnumDescriptorProto = Message<"google.protobuf.EnumDescriptorProto"> & {
/**
* @generated from field: optional string name = 1;
*/
name: string;
/**
* @generated from field: repeated google.protobuf.EnumValueDescriptorProto value = 2;
*/
value: EnumValueDescriptorProto[];
/**
* @generated from field: optional google.protobuf.EnumOptions options = 3;
*/
options?: EnumOptions;
/**
* Range of reserved numeric values. Reserved numeric values may not be used
* by enum values in the same enum declaration. Reserved ranges may not
* overlap.
*
* @generated from field: repeated google.protobuf.EnumDescriptorProto.EnumReservedRange reserved_range = 4;
*/
reservedRange: EnumDescriptorProto_EnumReservedRange[];
/**
* Reserved enum value names, which may not be reused. A given name may only
* be reserved once.
*
* @generated from field: repeated string reserved_name = 5;
*/
reservedName: string[];
/**
* Support for `export` and `local` keywords on enums.
*
* @generated from field: optional google.protobuf.SymbolVisibility visibility = 6;
*/
visibility: SymbolVisibility;
};
/**
* Describes an enum type.
*
* @generated from message google.protobuf.EnumDescriptorProto
*/
export type EnumDescriptorProtoJson = {
/**
* @generated from field: optional string name = 1;
*/
name?: string;
/**
* @generated from field: repeated google.protobuf.EnumValueDescriptorProto value = 2;
*/
value?: EnumValueDescriptorProtoJson[];
/**
* @generated from field: optional google.protobuf.EnumOptions options = 3;
*/
options?: EnumOptionsJson;
/**
* Range of reserved numeric values. Reserved numeric values may not be used
* by enum values in the same enum declaration. Reserved ranges may not
* overlap.
*
* @generated from field: repeated google.protobuf.EnumDescriptorProto.EnumReservedRange reserved_range = 4;
*/
reservedRange?: EnumDescriptorProto_EnumReservedRangeJson[];
/**
* Reserved enum value names, which may not be reused. A given name may only
* be reserved once.
*
* @generated from field: repeated string reserved_name = 5;
*/
reservedName?: string[];
/**
* Support for `export` and `local` keywords on enums.
*
* @generated from field: optional google.protobuf.SymbolVisibility visibility = 6;
*/
visibility?: SymbolVisibilityJson;
};
/**
* Describes the message google.protobuf.EnumDescriptorProto.
* Use `create(EnumDescriptorProtoSchema)` to create a new message.
*/
export declare const EnumDescriptorProtoSchema: GenMessage<EnumDescriptorProto, {
jsonType: EnumDescriptorProtoJson;
}>;
/**
* Range of reserved numeric values. Reserved values may not be used by
* entries in the same enum. Reserved ranges may not overlap.
*
* Note that this is distinct from DescriptorProto.ReservedRange in that it
* is inclusive such that it can appropriately represent the entire int32
* domain.
*
* @generated from message google.protobuf.EnumDescriptorProto.EnumReservedRange
*/
export type EnumDescriptorProto_EnumReservedRange = Message<"google.protobuf.EnumDescriptorProto.EnumReservedRange"> & {
/**
* Inclusive.
*
* @generated from field: optional int32 start = 1;
*/
start: number;
/**
* Inclusive.
*
* @generated from field: optional int32 end = 2;
*/
end: number;
};
/**
* Range of reserved numeric values. Reserved values may not be used by
* entries in the same enum. Reserved ranges may not overlap.
*
* Note that this is distinct from DescriptorProto.ReservedRange in that it
* is inclusive such that it can appropriately represent the entire int32
* domain.
*
* @generated from message google.protobuf.EnumDescriptorProto.EnumReservedRange
*/
export type EnumDescriptorProto_EnumReservedRangeJson = {
/**
* Inclusive.
*
* @generated from field: optional int32 start = 1;
*/
start?: number;
/**
* Inclusive.
*
* @generated from field: optional int32 end = 2;
*/
end?: number;
};
/**
* Describes the message google.protobuf.EnumDescriptorProto.EnumReservedRange.
* Use `create(EnumDescriptorProto_EnumReservedRangeSchema)` to create a new message.
*/
export declare const EnumDescriptorProto_EnumReservedRangeSchema: GenMessage<EnumDescriptorProto_EnumReservedRange, {
jsonType: EnumDescriptorProto_EnumReservedRangeJson;
}>;
/**
* Describes a value within an enum.
*
* @generated from message google.protobuf.EnumValueDescriptorProto
*/
export type EnumValueDescriptorProto = Message<"google.protobuf.EnumValueDescriptorProto"> & {
/**
* @generated from field: optional string name = 1;
*/
name: string;
/**
* @generated from field: optional int32 number = 2;
*/
number: number;
/**
* @generated from field: optional google.protobuf.EnumValueOptions options = 3;
*/
options?: EnumValueOptions;
};
/**
* Describes a value within an enum.
*
* @generated from message google.protobuf.EnumValueDescriptorProto
*/
export type EnumValueDescriptorProtoJson = {
/**
* @generated from field: optional string name = 1;
*/
name?: string;
/**
* @generated from field: optional int32 number = 2;
*/
number?: number;
/**
* @generated from field: optional google.protobuf.EnumValueOptions options = 3;
*/
options?: EnumValueOptionsJson;
};
/**
* Describes the message google.protobuf.EnumValueDescriptorProto.
* Use `create(EnumValueDescriptorProtoSchema)` to create a new message.
*/
export declare const EnumValueDescriptorProtoSchema: GenMessage<EnumValueDescriptorProto, {
jsonType: EnumValueDescriptorProtoJson;
}>;
/**
* Describes a service.
*
* @generated from message google.protobuf.ServiceDescriptorProto
*/
export type ServiceDescriptorProto = Message<"google.protobuf.ServiceDescriptorProto"> & {
/**
* @generated from field: optional string name = 1;
*/
name: string;
/**
* @generated from field: repeated google.protobuf.MethodDescriptorProto method = 2;
*/
method: MethodDescriptorProto[];
/**
* @generated from field: optional google.protobuf.ServiceOptions options = 3;
*/
options?: ServiceOptions;
};
/**
* Describes a service.
*
* @generated from message google.protobuf.ServiceDescriptorProto
*/
export type ServiceDescriptorProtoJson = {
/**
* @generated from field: optional string name = 1;
*/
name?: string;
/**
* @generated from field: repeated google.protobuf.MethodDescriptorProto method = 2;
*/
method?: MethodDescriptorProtoJson[];
/**
* @generated from field: optional google.protobuf.ServiceOptions options = 3;
*/
options?: ServiceOptionsJson;
};
/**
* Describes the message google.protobuf.ServiceDescriptorProto.
* Use `create(ServiceDescriptorProtoSchema)` to create a new message.
*/
export declare const ServiceDescriptorProtoSchema: GenMessage<ServiceDescriptorProto, {
jsonType: ServiceDescriptorProtoJson;
}>;
/**
* Describes a method of a service.
*
* @generated from message google.protobuf.MethodDescriptorProto
*/
export type MethodDescriptorProto = Message<"google.protobuf.MethodDescriptorProto"> & {
/**
* @generated from field: optional string name = 1;
*/
name: string;
/**
* Input and output type names. These are resolved in the same way as
* FieldDescriptorProto.type_name, but must refer to a message type.
*
* @generated from field: optional string input_type = 2;
*/
inputType: string;
/**
* @generated from field: optional string output_type = 3;
*/
outputType: string;
/**
* @generated from field: optional google.protobuf.MethodOptions options = 4;
*/
options?: MethodOptions;
/**
* Identifies if client streams multiple client messages
*
* @generated from field: optional bool client_streaming = 5 [default = false];
*/
clientStreaming: boolean;
/**
* Identifies if server streams multiple server messages
*
* @generated from field: optional bool server_streaming = 6 [default = false];
*/
serverStreaming: boolean;
};
/**
* Describes a method of a service.
*
* @generated from message google.protobuf.MethodDescriptorProto
*/
export type MethodDescriptorProtoJson = {
/**
* @generated from field: optional string name = 1;
*/
name?: string;
/**
* Input and output type names. These are resolved in the same way as
* FieldDescriptorProto.type_name, but must refer to a message type.
*
* @generated from field: optional string input_type = 2;
*/
inputType?: string;
/**
* @generated from field: optional string output_type = 3;
*/
outputType?: string;
/**
* @generated from field: optional google.protobuf.MethodOptions options = 4;
*/
options?: MethodOptionsJson;
/**
* Identifies if client streams multiple client messages
*
* @generated from field: optional bool client_streaming = 5 [default = false];
*/
clientStreaming?: boolean;
/**
* Identifies if server streams multiple server messages
*
* @generated from field: optional bool server_streaming = 6 [default = false];
*/
serverStreaming?: boolean;
};
/**
* Describes the message google.protobuf.MethodDescriptorProto.
* Use `create(MethodDescriptorProtoSchema)` to create a new message.
*/
export declare const MethodDescriptorProtoSchema: GenMessage<MethodDescriptorProto, {
jsonType: MethodDescriptorProtoJson;
}>;
/**
* @generated from message google.protobuf.FileOptions
*/
export type FileOptions = Message<"google.protobuf.FileOptions"> & {
/**
* Sets the Java package where classes generated from this .proto will be
* placed. By default, the proto package is used, but this is often
* inappropriate because proto packages do not normally start with backwards
* domain names.
*
* @generated from field: optional string java_package = 1;
*/
javaPackage: string;
/**
* Controls the name of the wrapper Java class generated for the .proto file.
* That class will always contain the .proto file's getDescriptor() method as
* well as any top-level extensions defined in the .proto file.
* If java_multiple_files is disabled, then all the other classes from the
* .proto file will be nested inside the single wrapper outer class.
*
* @generated from field: optional string java_outer_classname = 8;
*/
javaOuterClassname: string;
/**
* If enabled, then the Java code generator will generate a separate .java
* file for each top-level message, enum, and service defined in the .proto
* file. Thus, these types will *not* be nested inside the wrapper class
* named by java_outer_classname. However, the wrapper class will still be
* generated to contain the file's getDescriptor() method as well as any
* top-level extensions defined in the file.
*
* @generated from field: optional bool java_multiple_files = 10 [default = false];
*/
javaMultipleFiles: boolean;
/**
* This option does nothing.
*
* @generated from field: optional bool java_generate_equals_and_hash = 20 [deprecated = true];
* @deprecated
*/
javaGenerateEqualsAndHash: boolean;
/**
* A proto2 file can set this to true to opt in to UTF-8 checking for Java,
* which will throw an exception if invalid UTF-8 is parsed from the wire or
* assigned to a string field.
*
* TODO: clarify exactly what kinds of field types this option
* applies to, and update these docs accordingly.
*
* Proto3 files already perform these checks. Setting the option explicitly to
* false has no effect: it cannot be used to opt proto3 files out of UTF-8
* checks.
*
* @generated from field: optional bool java_string_check_utf8 = 27 [default = false];
*/
javaStringCheckUtf8: boolean;
/**
* @generated from field: optional google.protobuf.FileOptions.OptimizeMode optimize_for = 9 [default = SPEED];
*/
optimizeFor: FileOptions_OptimizeMode;
/**
* Sets the Go package where structs generated from this .proto will be
* placed. If omitted, the Go package will be derived from the following:
* - The basename of the package import path, if provided.
* - Otherwise, the package statement in the .proto file, if present.
* - Otherwise, the basename of the .proto file, without extension.
*
* @generated from field: optional string go_package = 11;
*/
goPackage: string;
/**
* Should generic services be generated in each language? "Generic" services
* are not specific to any particular RPC system. They are generated by the
* main code generators in each language (without additional plugins).
* Generic services were the only kind of service generation supported by
* early versions of google.protobuf.
*
* Generic services are now considered deprecated in favor of using plugins
* that generate code specific to your particular RPC system. Therefore,
* these default to false. Old code which depends on generic services should
* explicitly set them to true.
*
* @generated from field: optional bool cc_generic_services = 16 [default = false];
*/
ccGenericServices: boolean;
/**
* @generated from field: optional bool java_generic_services = 17 [default = false];
*/
javaGenericServices: boolean;
/**
* @generated from field: optional bool py_generic_services = 18 [default = false];
*/
pyGenericServices: boolean;
/**
* Is this file deprecated?
* Depending on the target platform, this can emit Deprecated annotations
* for everything in the file, or it will be completely ignored; in the very
* least, this is a formalization for deprecating files.
*
* @generated from field: