UNPKG

interchainjs

Version:

InterchainJS is a JavaScript library for interacting with Cosmos SDK based blockchains.

1,346 lines 146 kB
import { BinaryReader, BinaryWriter } from "../../binary"; import { DeepPartial } from "../../helpers"; /** The full set of known editions. */ export declare enum Edition { /** EDITION_UNKNOWN - A placeholder for an unknown edition value. */ EDITION_UNKNOWN = 0, /** * EDITION_LEGACY - A placeholder edition for specifying default behaviors *before* a feature * was first introduced. This is effectively an "infinite past". */ EDITION_LEGACY = 900, /** * EDITION_PROTO2 - Legacy syntax "editions". These pre-date editions, but behave much like * distinct editions. These can't be used to specify the edition of proto * files, but feature definitions must supply proto2/proto3 defaults for * backwards compatibility. */ EDITION_PROTO2 = 998, EDITION_PROTO3 = 999, /** * EDITION_2023 - Editions that have been released. The specific values are arbitrary and * should not be depended on, but they will always be time-ordered for easy * comparison. */ EDITION_2023 = 1000, EDITION_2024 = 1001, /** * EDITION_1_TEST_ONLY - Placeholder editions for testing feature resolution. These should not be * used or relied on outside of tests. */ EDITION_1_TEST_ONLY = 1, EDITION_2_TEST_ONLY = 2, EDITION_99997_TEST_ONLY = 99997, EDITION_99998_TEST_ONLY = 99998, EDITION_99999_TEST_ONLY = 99999, /** * EDITION_MAX - Placeholder for specifying unbounded edition support. This should only * ever be used by plugins that can expect to never require any changes to * support a new edition. */ EDITION_MAX = 2147483647, UNRECOGNIZED = -1 } export declare const EditionAmino: typeof Edition; export declare function editionFromJSON(object: any): Edition; export declare function editionToJSON(object: Edition): string; /** The verification state of the extension range. */ export declare enum ExtensionRangeOptions_VerificationState { /** DECLARATION - All the extensions of the range must be declared. */ DECLARATION = 0, UNVERIFIED = 1, UNRECOGNIZED = -1 } export declare const ExtensionRangeOptions_VerificationStateAmino: typeof ExtensionRangeOptions_VerificationState; export declare function extensionRangeOptions_VerificationStateFromJSON(object: any): ExtensionRangeOptions_VerificationState; export declare function extensionRangeOptions_VerificationStateToJSON(object: ExtensionRangeOptions_VerificationState): string; export declare enum FieldDescriptorProto_Type { /** * TYPE_DOUBLE - 0 is reserved for errors. * Order is weird for historical reasons. */ TYPE_DOUBLE = 1, TYPE_FLOAT = 2, /** * TYPE_INT64 - Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT64 if * negative values are likely. */ TYPE_INT64 = 3, TYPE_UINT64 = 4, /** * TYPE_INT32 - Not ZigZag encoded. Negative numbers take 10 bytes. Use TYPE_SINT32 if * negative values are likely. */ TYPE_INT32 = 5, TYPE_FIXED64 = 6, TYPE_FIXED32 = 7, TYPE_BOOL = 8, TYPE_STRING = 9, /** * TYPE_GROUP - 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. */ TYPE_GROUP = 10, /** TYPE_MESSAGE - Length-delimited aggregate. */ TYPE_MESSAGE = 11, /** TYPE_BYTES - New in version 2. */ TYPE_BYTES = 12, TYPE_UINT32 = 13, TYPE_ENUM = 14, TYPE_SFIXED32 = 15, TYPE_SFIXED64 = 16, /** TYPE_SINT32 - Uses ZigZag encoding. */ TYPE_SINT32 = 17, /** TYPE_SINT64 - Uses ZigZag encoding. */ TYPE_SINT64 = 18, UNRECOGNIZED = -1 } export declare const FieldDescriptorProto_TypeAmino: typeof FieldDescriptorProto_Type; export declare function fieldDescriptorProto_TypeFromJSON(object: any): FieldDescriptorProto_Type; export declare function fieldDescriptorProto_TypeToJSON(object: FieldDescriptorProto_Type): string; export declare enum FieldDescriptorProto_Label { /** LABEL_OPTIONAL - 0 is reserved for errors */ LABEL_OPTIONAL = 1, LABEL_REPEATED = 3, /** * LABEL_REQUIRED - 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. */ LABEL_REQUIRED = 2, UNRECOGNIZED = -1 } export declare const FieldDescriptorProto_LabelAmino: typeof FieldDescriptorProto_Label; export declare function fieldDescriptorProto_LabelFromJSON(object: any): FieldDescriptorProto_Label; export declare function fieldDescriptorProto_LabelToJSON(object: FieldDescriptorProto_Label): string; /** Generated classes can be optimized for speed or code size. */ export declare enum FileOptions_OptimizeMode { /** SPEED - Generate complete code for parsing, serialization, */ SPEED = 1, /** CODE_SIZE - etc. */ CODE_SIZE = 2, /** LITE_RUNTIME - Generate code using MessageLite and the lite runtime. */ LITE_RUNTIME = 3, UNRECOGNIZED = -1 } export declare const FileOptions_OptimizeModeAmino: typeof FileOptions_OptimizeMode; export declare function fileOptions_OptimizeModeFromJSON(object: any): FileOptions_OptimizeMode; export declare function fileOptions_OptimizeModeToJSON(object: FileOptions_OptimizeMode): string; export declare enum FieldOptions_CType { /** STRING - Default mode. */ STRING = 0, /** * CORD - The option [ctype=CORD] may be applied to a non-repeated field of type * "bytes". It indicates that in C++, the data should be stored in a Cord * instead of a string. For very large strings, this may reduce memory * fragmentation. It may also allow better performance when parsing from a * Cord, or when parsing with aliasing enabled, as the parsed Cord may then * alias the original buffer. */ CORD = 1, STRING_PIECE = 2, UNRECOGNIZED = -1 } export declare const FieldOptions_CTypeAmino: typeof FieldOptions_CType; export declare function fieldOptions_CTypeFromJSON(object: any): FieldOptions_CType; export declare function fieldOptions_CTypeToJSON(object: FieldOptions_CType): string; export declare enum FieldOptions_JSType { /** JS_NORMAL - Use the default type. */ JS_NORMAL = 0, /** JS_STRING - Use JavaScript strings. */ JS_STRING = 1, /** JS_NUMBER - Use JavaScript numbers. */ JS_NUMBER = 2, UNRECOGNIZED = -1 } export declare const FieldOptions_JSTypeAmino: typeof FieldOptions_JSType; export declare function fieldOptions_JSTypeFromJSON(object: any): FieldOptions_JSType; export declare function fieldOptions_JSTypeToJSON(object: FieldOptions_JSType): string; /** If set to RETENTION_SOURCE, the option will be omitted from the binary. */ export declare enum FieldOptions_OptionRetention { RETENTION_UNKNOWN = 0, RETENTION_RUNTIME = 1, RETENTION_SOURCE = 2, UNRECOGNIZED = -1 } export declare const FieldOptions_OptionRetentionAmino: typeof FieldOptions_OptionRetention; export declare function fieldOptions_OptionRetentionFromJSON(object: any): FieldOptions_OptionRetention; export declare function fieldOptions_OptionRetentionToJSON(object: FieldOptions_OptionRetention): string; /** * This indicates the types of entities that the field may apply to when used * as an option. If it is unset, then the field may be freely used as an * option on any kind of entity. */ export declare enum FieldOptions_OptionTargetType { TARGET_TYPE_UNKNOWN = 0, TARGET_TYPE_FILE = 1, TARGET_TYPE_EXTENSION_RANGE = 2, TARGET_TYPE_MESSAGE = 3, TARGET_TYPE_FIELD = 4, TARGET_TYPE_ONEOF = 5, TARGET_TYPE_ENUM = 6, TARGET_TYPE_ENUM_ENTRY = 7, TARGET_TYPE_SERVICE = 8, TARGET_TYPE_METHOD = 9, UNRECOGNIZED = -1 } export declare const FieldOptions_OptionTargetTypeAmino: typeof FieldOptions_OptionTargetType; export declare function fieldOptions_OptionTargetTypeFromJSON(object: any): FieldOptions_OptionTargetType; export declare function fieldOptions_OptionTargetTypeToJSON(object: FieldOptions_OptionTargetType): string; /** * Is this method side-effect-free (or safe in HTTP parlance), or idempotent, * or neither? HTTP based RPC implementation may choose GET verb for safe * methods, and PUT verb for idempotent methods instead of the default POST. */ export declare enum MethodOptions_IdempotencyLevel { IDEMPOTENCY_UNKNOWN = 0, /** NO_SIDE_EFFECTS - implies idempotent */ NO_SIDE_EFFECTS = 1, /** IDEMPOTENT - idempotent, but may have side effects */ IDEMPOTENT = 2, UNRECOGNIZED = -1 } export declare const MethodOptions_IdempotencyLevelAmino: typeof MethodOptions_IdempotencyLevel; export declare function methodOptions_IdempotencyLevelFromJSON(object: any): MethodOptions_IdempotencyLevel; export declare function methodOptions_IdempotencyLevelToJSON(object: MethodOptions_IdempotencyLevel): string; export declare enum FeatureSet_FieldPresence { FIELD_PRESENCE_UNKNOWN = 0, EXPLICIT = 1, IMPLICIT = 2, LEGACY_REQUIRED = 3, UNRECOGNIZED = -1 } export declare const FeatureSet_FieldPresenceAmino: typeof FeatureSet_FieldPresence; export declare function featureSet_FieldPresenceFromJSON(object: any): FeatureSet_FieldPresence; export declare function featureSet_FieldPresenceToJSON(object: FeatureSet_FieldPresence): string; export declare enum FeatureSet_EnumType { ENUM_TYPE_UNKNOWN = 0, OPEN = 1, CLOSED = 2, UNRECOGNIZED = -1 } export declare const FeatureSet_EnumTypeAmino: typeof FeatureSet_EnumType; export declare function featureSet_EnumTypeFromJSON(object: any): FeatureSet_EnumType; export declare function featureSet_EnumTypeToJSON(object: FeatureSet_EnumType): string; export declare enum FeatureSet_RepeatedFieldEncoding { REPEATED_FIELD_ENCODING_UNKNOWN = 0, PACKED = 1, EXPANDED = 2, UNRECOGNIZED = -1 } export declare const FeatureSet_RepeatedFieldEncodingAmino: typeof FeatureSet_RepeatedFieldEncoding; export declare function featureSet_RepeatedFieldEncodingFromJSON(object: any): FeatureSet_RepeatedFieldEncoding; export declare function featureSet_RepeatedFieldEncodingToJSON(object: FeatureSet_RepeatedFieldEncoding): string; export declare enum FeatureSet_Utf8Validation { UTF8_VALIDATION_UNKNOWN = 0, VERIFY = 2, NONE = 3, UNRECOGNIZED = -1 } export declare const FeatureSet_Utf8ValidationAmino: typeof FeatureSet_Utf8Validation; export declare function featureSet_Utf8ValidationFromJSON(object: any): FeatureSet_Utf8Validation; export declare function featureSet_Utf8ValidationToJSON(object: FeatureSet_Utf8Validation): string; export declare enum FeatureSet_MessageEncoding { MESSAGE_ENCODING_UNKNOWN = 0, LENGTH_PREFIXED = 1, DELIMITED = 2, UNRECOGNIZED = -1 } export declare const FeatureSet_MessageEncodingAmino: typeof FeatureSet_MessageEncoding; export declare function featureSet_MessageEncodingFromJSON(object: any): FeatureSet_MessageEncoding; export declare function featureSet_MessageEncodingToJSON(object: FeatureSet_MessageEncoding): string; export declare enum FeatureSet_JsonFormat { JSON_FORMAT_UNKNOWN = 0, ALLOW = 1, LEGACY_BEST_EFFORT = 2, UNRECOGNIZED = -1 } export declare const FeatureSet_JsonFormatAmino: typeof FeatureSet_JsonFormat; export declare function featureSet_JsonFormatFromJSON(object: any): FeatureSet_JsonFormat; export declare function featureSet_JsonFormatToJSON(object: FeatureSet_JsonFormat): string; /** * Represents the identified object's effect on the element in the original * .proto file. */ export declare enum GeneratedCodeInfo_Annotation_Semantic { /** NONE - There is no effect or the effect is indescribable. */ NONE = 0, /** SET - The element is set or otherwise mutated. */ SET = 1, /** ALIAS - An alias to the element is returned. */ ALIAS = 2, UNRECOGNIZED = -1 } export declare const GeneratedCodeInfo_Annotation_SemanticAmino: typeof GeneratedCodeInfo_Annotation_Semantic; export declare function generatedCodeInfo_Annotation_SemanticFromJSON(object: any): GeneratedCodeInfo_Annotation_Semantic; export declare function generatedCodeInfo_Annotation_SemanticToJSON(object: GeneratedCodeInfo_Annotation_Semantic): string; /** * The protocol compiler can output a FileDescriptorSet containing the .proto * files it parses. * @name FileDescriptorSet * @package google.protobuf * @see proto type: google.protobuf.FileDescriptorSet */ export interface FileDescriptorSet { file: FileDescriptorProto[]; } export interface FileDescriptorSetProtoMsg { typeUrl: "/google.protobuf.FileDescriptorSet"; value: Uint8Array; } /** * The protocol compiler can output a FileDescriptorSet containing the .proto * files it parses. * @name FileDescriptorSetAmino * @package google.protobuf * @see proto type: google.protobuf.FileDescriptorSet */ export interface FileDescriptorSetAmino { file: FileDescriptorProtoAmino[]; } export interface FileDescriptorSetAminoMsg { type: "/google.protobuf.FileDescriptorSet"; value: FileDescriptorSetAmino; } /** * Describes a complete .proto file. * @name FileDescriptorProto * @package google.protobuf * @see proto type: google.protobuf.FileDescriptorProto */ export interface FileDescriptorProto { /** * file name, relative to root of source tree */ name: string; /** * e.g. "foo", "foo.bar", etc. */ package: string; /** * Names of files imported by this file. */ dependency: string[]; /** * Indexes of the public imported files in the dependency list above. */ publicDependency: number[]; /** * Indexes of the weak imported files in the dependency list. * For Google-internal migration only. Do not use. */ weakDependency: number[]; /** * All top-level definitions in this file. */ messageType: DescriptorProto[]; enumType: EnumDescriptorProto[]; service: ServiceDescriptorProto[]; extension: FieldDescriptorProto[]; 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. */ 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. */ 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. */ edition: Edition; } export interface FileDescriptorProtoProtoMsg { typeUrl: "/google.protobuf.FileDescriptorProto"; value: Uint8Array; } /** * Describes a complete .proto file. * @name FileDescriptorProtoAmino * @package google.protobuf * @see proto type: google.protobuf.FileDescriptorProto */ export interface FileDescriptorProtoAmino { /** * file name, relative to root of source tree */ name: string; /** * e.g. "foo", "foo.bar", etc. */ package: string; /** * Names of files imported by this file. */ dependency: string[]; /** * Indexes of the public imported files in the dependency list above. */ public_dependency: number[]; /** * Indexes of the weak imported files in the dependency list. * For Google-internal migration only. Do not use. */ weak_dependency: number[]; /** * All top-level definitions in this file. */ message_type: DescriptorProtoAmino[]; enum_type: EnumDescriptorProtoAmino[]; service: ServiceDescriptorProtoAmino[]; extension: FieldDescriptorProtoAmino[]; options?: FileOptionsAmino; /** * 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. */ source_code_info?: SourceCodeInfoAmino; /** * 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. */ 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. */ edition: Edition; } export interface FileDescriptorProtoAminoMsg { type: "/google.protobuf.FileDescriptorProto"; value: FileDescriptorProtoAmino; } /** * Describes a message type. * @name DescriptorProto * @package google.protobuf * @see proto type: google.protobuf.DescriptorProto */ export interface DescriptorProto { name: string; field: FieldDescriptorProto[]; extension: FieldDescriptorProto[]; nestedType: DescriptorProto[]; enumType: EnumDescriptorProto[]; extensionRange: DescriptorProto_ExtensionRange[]; oneofDecl: OneofDescriptorProto[]; options?: MessageOptions; 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. */ reservedName: string[]; } export interface DescriptorProtoProtoMsg { typeUrl: "/google.protobuf.DescriptorProto"; value: Uint8Array; } /** * Describes a message type. * @name DescriptorProtoAmino * @package google.protobuf * @see proto type: google.protobuf.DescriptorProto */ export interface DescriptorProtoAmino { name: string; field: FieldDescriptorProtoAmino[]; extension: FieldDescriptorProtoAmino[]; nested_type: DescriptorProtoAmino[]; enum_type: EnumDescriptorProtoAmino[]; extension_range: DescriptorProto_ExtensionRangeAmino[]; oneof_decl: OneofDescriptorProtoAmino[]; options?: MessageOptionsAmino; reserved_range: DescriptorProto_ReservedRangeAmino[]; /** * Reserved field names, which may not be used by fields in the same message. * A given name may only be reserved once. */ reserved_name: string[]; } export interface DescriptorProtoAminoMsg { type: "/google.protobuf.DescriptorProto"; value: DescriptorProtoAmino; } /** * @name DescriptorProto_ExtensionRange * @package google.protobuf * @see proto type: google.protobuf.ExtensionRange */ export interface DescriptorProto_ExtensionRange { /** * Inclusive. */ start: number; /** * Exclusive. */ end: number; options?: ExtensionRangeOptions; } export interface DescriptorProto_ExtensionRangeProtoMsg { typeUrl: "/google.protobuf.ExtensionRange"; value: Uint8Array; } /** * @name DescriptorProto_ExtensionRangeAmino * @package google.protobuf * @see proto type: google.protobuf.DescriptorProto_ExtensionRange */ export interface DescriptorProto_ExtensionRangeAmino { /** * Inclusive. */ start: number; /** * Exclusive. */ end: number; options?: ExtensionRangeOptionsAmino; } export interface DescriptorProto_ExtensionRangeAminoMsg { type: "/google.protobuf.ExtensionRange"; value: DescriptorProto_ExtensionRangeAmino; } /** * 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. * @name DescriptorProto_ReservedRange * @package google.protobuf * @see proto type: google.protobuf.ReservedRange */ export interface DescriptorProto_ReservedRange { /** * Inclusive. */ start: number; /** * Exclusive. */ end: number; } export interface DescriptorProto_ReservedRangeProtoMsg { typeUrl: "/google.protobuf.ReservedRange"; value: Uint8Array; } /** * 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. * @name DescriptorProto_ReservedRangeAmino * @package google.protobuf * @see proto type: google.protobuf.DescriptorProto_ReservedRange */ export interface DescriptorProto_ReservedRangeAmino { /** * Inclusive. */ start: number; /** * Exclusive. */ end: number; } export interface DescriptorProto_ReservedRangeAminoMsg { type: "/google.protobuf.ReservedRange"; value: DescriptorProto_ReservedRangeAmino; } /** * @name ExtensionRangeOptions * @package google.protobuf * @see proto type: google.protobuf.ExtensionRangeOptions */ export interface ExtensionRangeOptions { /** * The parser stores options it doesn't recognize here. See above. */ 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. */ declaration: ExtensionRangeOptions_Declaration[]; /** * Any features defined in the specific edition. */ features?: FeatureSet; /** * The verification state of the range. * TODO: flip the default to DECLARATION once all empty ranges * are marked as UNVERIFIED. */ verification: ExtensionRangeOptions_VerificationState; } export interface ExtensionRangeOptionsProtoMsg { typeUrl: "/google.protobuf.ExtensionRangeOptions"; value: Uint8Array; } /** * @name ExtensionRangeOptionsAmino * @package google.protobuf * @see proto type: google.protobuf.ExtensionRangeOptions */ export interface ExtensionRangeOptionsAmino { /** * The parser stores options it doesn't recognize here. See above. */ uninterpreted_option: UninterpretedOptionAmino[]; /** * 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. */ declaration: ExtensionRangeOptions_DeclarationAmino[]; /** * Any features defined in the specific edition. */ features?: FeatureSetAmino; /** * The verification state of the range. * TODO: flip the default to DECLARATION once all empty ranges * are marked as UNVERIFIED. */ verification: ExtensionRangeOptions_VerificationState; } export interface ExtensionRangeOptionsAminoMsg { type: "/google.protobuf.ExtensionRangeOptions"; value: ExtensionRangeOptionsAmino; } /** * @name ExtensionRangeOptions_Declaration * @package google.protobuf * @see proto type: google.protobuf.Declaration */ export interface ExtensionRangeOptions_Declaration { /** * The extension number declared within the extension range. */ number: number; /** * The fully-qualified name of the extension field. There must be a leading * dot in front of the full name. */ 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. */ 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. */ reserved: boolean; /** * If true, indicates that the extension must be defined as repeated. * Otherwise the extension must be defined as optional. */ repeated: boolean; } export interface ExtensionRangeOptions_DeclarationProtoMsg { typeUrl: "/google.protobuf.Declaration"; value: Uint8Array; } /** * @name ExtensionRangeOptions_DeclarationAmino * @package google.protobuf * @see proto type: google.protobuf.ExtensionRangeOptions_Declaration */ export interface ExtensionRangeOptions_DeclarationAmino { /** * The extension number declared within the extension range. */ number: number; /** * The fully-qualified name of the extension field. There must be a leading * dot in front of the full name. */ full_name: string; /** * The fully-qualified type name of the extension field. Unlike * Metadata.type, Declaration.type must have a leading dot for messages * and enums. */ 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. */ reserved: boolean; /** * If true, indicates that the extension must be defined as repeated. * Otherwise the extension must be defined as optional. */ repeated: boolean; } export interface ExtensionRangeOptions_DeclarationAminoMsg { type: "/google.protobuf.Declaration"; value: ExtensionRangeOptions_DeclarationAmino; } /** * Describes a field within a message. * @name FieldDescriptorProto * @package google.protobuf * @see proto type: google.protobuf.FieldDescriptorProto */ export interface FieldDescriptorProto { name: string; number: number; 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. */ 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). */ typeName: string; /** * For extensions, this is the name of the type being extended. It is * resolved in the same manner as type_name. */ 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. */ 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. */ 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. */ jsonName: string; 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`. */ proto3Optional: boolean; } export interface FieldDescriptorProtoProtoMsg { typeUrl: "/google.protobuf.FieldDescriptorProto"; value: Uint8Array; } /** * Describes a field within a message. * @name FieldDescriptorProtoAmino * @package google.protobuf * @see proto type: google.protobuf.FieldDescriptorProto */ export interface FieldDescriptorProtoAmino { name: string; number: number; 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. */ 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). */ type_name: string; /** * For extensions, this is the name of the type being extended. It is * resolved in the same manner as type_name. */ 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. */ default_value: 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. */ oneof_index: 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. */ json_name: string; options?: FieldOptionsAmino; /** * 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`. */ proto3_optional: boolean; } export interface FieldDescriptorProtoAminoMsg { type: "/google.protobuf.FieldDescriptorProto"; value: FieldDescriptorProtoAmino; } /** * Describes a oneof. * @name OneofDescriptorProto * @package google.protobuf * @see proto type: google.protobuf.OneofDescriptorProto */ export interface OneofDescriptorProto { name: string; options?: OneofOptions; } export interface OneofDescriptorProtoProtoMsg { typeUrl: "/google.protobuf.OneofDescriptorProto"; value: Uint8Array; } /** * Describes a oneof. * @name OneofDescriptorProtoAmino * @package google.protobuf * @see proto type: google.protobuf.OneofDescriptorProto */ export interface OneofDescriptorProtoAmino { name: string; options?: OneofOptionsAmino; } export interface OneofDescriptorProtoAminoMsg { type: "/google.protobuf.OneofDescriptorProto"; value: OneofDescriptorProtoAmino; } /** * Describes an enum type. * @name EnumDescriptorProto * @package google.protobuf * @see proto type: google.protobuf.EnumDescriptorProto */ export interface EnumDescriptorProto { name: string; value: EnumValueDescriptorProto[]; 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. */ reservedRange: EnumDescriptorProto_EnumReservedRange[]; /** * Reserved enum value names, which may not be reused. A given name may only * be reserved once. */ reservedName: string[]; } export interface EnumDescriptorProtoProtoMsg { typeUrl: "/google.protobuf.EnumDescriptorProto"; value: Uint8Array; } /** * Describes an enum type. * @name EnumDescriptorProtoAmino * @package google.protobuf * @see proto type: google.protobuf.EnumDescriptorProto */ export interface EnumDescriptorProtoAmino { name: string; value: EnumValueDescriptorProtoAmino[]; options?: EnumOptionsAmino; /** * 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. */ reserved_range: EnumDescriptorProto_EnumReservedRangeAmino[]; /** * Reserved enum value names, which may not be reused. A given name may only * be reserved once. */ reserved_name: string[]; } export interface EnumDescriptorProtoAminoMsg { type: "/google.protobuf.EnumDescriptorProto"; value: EnumDescriptorProtoAmino; } /** * 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. * @name EnumDescriptorProto_EnumReservedRange * @package google.protobuf * @see proto type: google.protobuf.EnumReservedRange */ export interface EnumDescriptorProto_EnumReservedRange { /** * Inclusive. */ start: number; /** * Inclusive. */ end: number; } export interface EnumDescriptorProto_EnumReservedRangeProtoMsg { typeUrl: "/google.protobuf.EnumReservedRange"; value: Uint8Array; } /** * 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. * @name EnumDescriptorProto_EnumReservedRangeAmino * @package google.protobuf * @see proto type: google.protobuf.EnumDescriptorProto_EnumReservedRange */ export interface EnumDescriptorProto_EnumReservedRangeAmino { /** * Inclusive. */ start: number; /** * Inclusive. */ end: number; } export interface EnumDescriptorProto_EnumReservedRangeAminoMsg { type: "/google.protobuf.EnumReservedRange"; value: EnumDescriptorProto_EnumReservedRangeAmino; } /** * Describes a value within an enum. * @name EnumValueDescriptorProto * @package google.protobuf * @see proto type: google.protobuf.EnumValueDescriptorProto */ export interface EnumValueDescriptorProto { name: string; number: number; options?: EnumValueOptions; } export interface EnumValueDescriptorProtoProtoMsg { typeUrl: "/google.protobuf.EnumValueDescriptorProto"; value: Uint8Array; } /** * Describes a value within an enum. * @name EnumValueDescriptorProtoAmino * @package google.protobuf * @see proto type: google.protobuf.EnumValueDescriptorProto */ export interface EnumValueDescriptorProtoAmino { name: string; number: number; options?: EnumValueOptionsAmino; } export interface EnumValueDescriptorProtoAminoMsg { type: "/google.protobuf.EnumValueDescriptorProto"; value: EnumValueDescriptorProtoAmino; } /** * Describes a service. * @name ServiceDescriptorProto * @package google.protobuf * @see proto type: google.protobuf.ServiceDescriptorProto */ export interface ServiceDescriptorProto { name: string; method: MethodDescriptorProto[]; options?: ServiceOptions; } export interface ServiceDescriptorProtoProtoMsg { typeUrl: "/google.protobuf.ServiceDescriptorProto"; value: Uint8Array; } /** * Describes a service. * @name ServiceDescriptorProtoAmino * @package google.protobuf * @see proto type: google.protobuf.ServiceDescriptorProto */ export interface ServiceDescriptorProtoAmino { name: string; method: MethodDescriptorProtoAmino[]; options?: ServiceOptionsAmino; } export interface ServiceDescriptorProtoAminoMsg { type: "/google.protobuf.ServiceDescriptorProto"; value: ServiceDescriptorProtoAmino; } /** * Describes a method of a service. * @name MethodDescriptorProto * @package google.protobuf * @see proto type: google.protobuf.MethodDescriptorProto */ export interface MethodDescriptorProto { 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. */ inputType: string; outputType: string; options?: MethodOptions; /** * Identifies if client streams multiple client messages */ clientStreaming: boolean; /** * Identifies if server streams multiple server messages */ serverStreaming: boolean; } export interface MethodDescriptorProtoProtoMsg { typeUrl: "/google.protobuf.MethodDescriptorProto"; value: Uint8Array; } /** * Describes a method of a service. * @name MethodDescriptorProtoAmino * @package google.protobuf * @see proto type: google.protobuf.MethodDescriptorProto */ export interface MethodDescriptorProtoAmino { 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. */ input_type: string; output_type: string; options?: MethodOptionsAmino; /** * Identifies if client streams multiple client messages */ client_streaming: boolean; /** * Identifies if server streams multiple server messages */ server_streaming: boolean; } export interface MethodDescriptorProtoAminoMsg { type: "/google.protobuf.MethodDescriptorProto"; value: MethodDescriptorProtoAmino; } /** * @name FileOptions * @package google.protobuf * @see proto type: google.protobuf.FileOptions */ export interface 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. */ 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. */ 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. */ javaMultipleFiles: boolean; /** * This option does nothing. * @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. */ javaStringCheckUtf8: boolean; 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. */ 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. */ ccGenericServices: boolean; javaGenericServices: boolean; 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. */ deprecated: boolean; /** * Enables the use of arenas for the proto messages in this file. This applies * only to generated classes for C++. */ ccEnableArenas: boolean; /** * Sets the objective c class prefix which is prepended to all objective c * generated classes from this .proto. There is no default. */ objcClassPrefix: string; /** * Namespace for generated classes; defaults to the package. */ csharpNamespace: string; /** * By default Swift generators will take the proto package and CamelCase it * replacing '.' with underscore and use that to prefix the types/symbols * defined. When this options is provided, they will use this value instead * to prefix the types/symbols defined. */ swiftPrefix: string; /** * Sets the php class prefix which is prepended to all php generated classes * from this .proto. Default is empty. */ phpClassPrefix: string; /** * Use this option to change the namespace of php generated classes. Default * is empty. When this option is empty, the package name will be used for * determining the namespace. */ phpNamespace: string; /** * Use this option to change the namespace of php generated metadata classes. * Default is empty. When this option is empty, the proto file name will be * used for determining the namespace. */ phpMetadataNamespace: string; /** * Use this option to change the package of ruby generated classes. Default * is empty. When this option is not set, the package name will be used for * determining the ruby package. */ rubyPackage: string; /** * Any features defined in the specific edition. * 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. */ features?: FeatureSet; /** * The parser stores options it doesn't recognize here. * See the documentation for the "Options" section above. */ uninterpretedOption: UninterpretedOption[]; } export interface FileOptionsProtoMsg { typeUrl: "/google.protobuf.FileOptions"; value: Uint8Array; } /** * @name FileOptionsAmino * @package google.protobuf * @see proto type: google.protobuf.FileOptions */ export interface FileOptionsAmino { /** * 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. */ java_package: 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. */ java_outer_classname: 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. */ java_multiple_files: boolean; /** * This option does nothing. * @deprecated */ java_generate_equals_and_hash: 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. */ java_string_check_utf8: boolean; optimize_for: 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. */ go_package: 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. */ cc_generic_services: boolean; java_generic_services: boolean; py_generic_services: 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. */ deprecated: boolean; /** * Enables the use of arenas for the proto messages in this file. This applies * only to generated classes for C++. */ cc_enable_arenas: boolean; /** * Sets the objective c class prefix which is prepended to all objective c * generated classes from this .proto. There is no default. */ objc_class_prefix: string; /** * Namespace for generated classes; defaults to the package. */ csharp_namespace: string; /** * By default Swift generators will take the proto package and CamelCase it * replacing '.' with underscore and use that to prefix the types/symbols * defined. When this options is provided, they will use this value instead