export type Any = { typeUrl: string; value: string; }; export type FileDescriptorSet = { file: FileDescriptorProto[]; }; export type FileDescriptorProto = { name: string; package: string; dependency: string[]; publicDependency: number[]; weakDependency: number[]; messageType: DescriptorProto[]; enumType: EnumDescriptorProto[]; service: ServiceDescriptorProto[]; extension: FieldDescriptorProto[]; options: FileOptions; sourceCodeInfo: SourceCodeInfo; syntax: string; }; export type DescriptorProto_ExtensionRange = { start: number; end: number; options: ExtensionRangeOptions; }; export type DescriptorProto_ReservedRange = { start: number; end: number; }; export type DescriptorProto = { name: string; field: FieldDescriptorProto[]; extension: FieldDescriptorProto[]; nestedType: DescriptorProto[]; enumType: EnumDescriptorProto[]; extensionRange: DescriptorProto_ExtensionRange[]; oneofDecl: OneofDescriptorProto[]; options: MessageOptions; reservedRange: DescriptorProto_ReservedRange[]; reservedName: string[]; }; export type ExtensionRangeOptions = { uninterpretedOption: UninterpretedOption[]; }; export type FieldDescriptorProto_Type = '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'; export type FieldDescriptorProto_Label = 'LABEL_OPTIONAL' | 'LABEL_REQUIRED' | 'LABEL_REPEATED'; export type FieldDescriptorProto = { name: string; number: number; label: FieldDescriptorProto_Label; type: FieldDescriptorProto_Type; typeName: string; extendee: string; defaultValue: string; oneofIndex: number; jsonName: string; options: FieldOptions; }; export type OneofDescriptorProto = { name: string; options: OneofOptions; }; export type EnumDescriptorProto_EnumReservedRange = { start: number; end: number; }; export type EnumDescriptorProto = { name: string; value: EnumValueDescriptorProto[]; options: EnumOptions; reservedRange: EnumDescriptorProto_EnumReservedRange[]; reservedName: string[]; }; export type EnumValueDescriptorProto = { name: string; number: number; options: EnumValueOptions; }; export type ServiceDescriptorProto = { name: string; method: MethodDescriptorProto[]; options: ServiceOptions; }; export type MethodDescriptorProto = { name: string; inputType: string; outputType: string; options: MethodOptions; clientStreaming: boolean; serverStreaming: boolean; }; export type FileOptions_OptimizeMode = 'SPEED' | 'CODE_SIZE' | 'LITE_RUNTIME'; export type FileOptions = { javaPackage: string; javaOuterClassname: string; javaMultipleFiles: boolean; javaGenerateEqualsAndHash: boolean; javaStringCheckUtf8: boolean; optimizeFor: FileOptions_OptimizeMode; goPackage: string; ccGenericServices: boolean; javaGenericServices: boolean; pyGenericServices: boolean; phpGenericServices: boolean; deprecated: boolean; ccEnableArenas: boolean; objcClassPrefix: string; csharpNamespace: string; swiftPrefix: string; phpClassPrefix: string; phpNamespace: string; phpMetadataNamespace: string; rubyPackage: string; uninterpretedOption: UninterpretedOption[]; }; export type MessageOptions = { messageSetWireFormat: boolean; noStandardDescriptorAccessor: boolean; deprecated: boolean; mapEntry: boolean; uninterpretedOption: UninterpretedOption[]; }; export type FieldOptions_CType = 'STRING' | 'CORD' | 'STRING_PIECE'; export type FieldOptions_JSType = 'JS_NORMAL' | 'JS_STRING' | 'JS_NUMBER'; export type FieldOptions = { ctype: FieldOptions_CType; packed: boolean; jstype: FieldOptions_JSType; lazy: boolean; deprecated: boolean; weak: boolean; uninterpretedOption: UninterpretedOption[]; }; export type OneofOptions = { uninterpretedOption: UninterpretedOption[]; }; export type EnumOptions = { allowAlias: boolean; deprecated: boolean; uninterpretedOption: UninterpretedOption[]; }; export type EnumValueOptions = { deprecated: boolean; uninterpretedOption: UninterpretedOption[]; }; export type ServiceOptions = { deprecated: boolean; uninterpretedOption: UninterpretedOption[]; }; export type MethodOptions_IdempotencyLevel = 'IDEMPOTENCY_UNKNOWN' | 'NO_SIDE_EFFECTS' | 'IDEMPOTENT'; export type MethodOptions = { deprecated: boolean; idempotencyLevel: MethodOptions_IdempotencyLevel; uninterpretedOption: UninterpretedOption[]; }; export type UninterpretedOption_NamePart = { namePart: string; isExtension: boolean; }; export type UninterpretedOption = { name: UninterpretedOption_NamePart[]; identifierValue: string; positiveIntValue: number; negativeIntValue: number; doubleValue: number; stringValue: string; aggregateValue: string; }; export type SourceCodeInfo_Location = { path: number[]; span: number[]; leadingComments: string; trailingComments: string; leadingDetachedComments: string[]; }; export type SourceCodeInfo = { location: SourceCodeInfo_Location[]; }; export type GeneratedCodeInfo_Annotation = { path: number[]; sourceFile: string; begin: number; end: number; }; export type GeneratedCodeInfo = { annotation: GeneratedCodeInfo_Annotation[]; }; export type Empty = {}; export type Struct = { fields: Record; }; export type Value_kind_nullValue = { type: 'nullValue'; data: NullValue; }; export type Value_kind_numberValue = { type: 'numberValue'; data: number; }; export type Value_kind_stringValue = { type: 'stringValue'; data: string; }; export type Value_kind_boolValue = { type: 'boolValue'; data: boolean; }; export type Value_kind_structValue = { type: 'structValue'; data: Struct; }; export type Value_kind_listValue = { type: 'listValue'; data: ListValue; }; export type Value_kind = Value_kind_nullValue | Value_kind_numberValue | Value_kind_stringValue | Value_kind_boolValue | Value_kind_structValue | Value_kind_listValue; export type Value = { kind: Value_kind; }; export type NullValue = 'NULL_VALUE'; export type ListValue = { values: Value[]; }; export type Timestamp = { seconds: number; nanos: number; }; export type DoubleValue = { value: number; }; export type FloatValue = { value: number; }; export type Int64Value = { value: number; }; export type UInt64Value = { value: number; }; export type Int32Value = { value: number; }; export type UInt32Value = { value: number; }; export type BoolValue = { value: boolean; }; export type StringValue = { value: string; }; export type BytesValue = { value: string; };