Skip to main content

nominal_api/proto/
google.protobuf.rs

1// This file is @generated by prost-build.
2#[derive(Clone, PartialEq, ::prost::Message)]
3pub struct FileDescriptorSet {
4    #[prost(message, repeated, tag = "1")]
5    pub file: ::prost::alloc::vec::Vec<FileDescriptorProto>,
6}
7#[derive(Clone, PartialEq, ::prost::Message)]
8pub struct FileDescriptorProto {
9    #[prost(string, optional, tag = "1")]
10    pub name: ::core::option::Option<::prost::alloc::string::String>,
11    #[prost(string, optional, tag = "2")]
12    pub package: ::core::option::Option<::prost::alloc::string::String>,
13    #[prost(string, repeated, tag = "3")]
14    pub dependency: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
15    #[prost(int32, repeated, packed = "false", tag = "10")]
16    pub public_dependency: ::prost::alloc::vec::Vec<i32>,
17    #[prost(int32, repeated, packed = "false", tag = "11")]
18    pub weak_dependency: ::prost::alloc::vec::Vec<i32>,
19    #[prost(string, repeated, tag = "15")]
20    pub option_dependency: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
21    #[prost(message, repeated, tag = "4")]
22    pub message_type: ::prost::alloc::vec::Vec<DescriptorProto>,
23    #[prost(message, repeated, tag = "5")]
24    pub enum_type: ::prost::alloc::vec::Vec<EnumDescriptorProto>,
25    #[prost(message, repeated, tag = "6")]
26    pub service: ::prost::alloc::vec::Vec<ServiceDescriptorProto>,
27    #[prost(message, repeated, tag = "7")]
28    pub extension: ::prost::alloc::vec::Vec<FieldDescriptorProto>,
29    #[prost(message, optional, tag = "8")]
30    pub options: ::core::option::Option<FileOptions>,
31    #[prost(message, optional, tag = "9")]
32    pub source_code_info: ::core::option::Option<SourceCodeInfo>,
33    #[prost(string, optional, tag = "12")]
34    pub syntax: ::core::option::Option<::prost::alloc::string::String>,
35    #[prost(enumeration = "Edition", optional, tag = "14")]
36    pub edition: ::core::option::Option<i32>,
37}
38#[derive(Clone, PartialEq, ::prost::Message)]
39pub struct DescriptorProto {
40    #[prost(string, optional, tag = "1")]
41    pub name: ::core::option::Option<::prost::alloc::string::String>,
42    #[prost(message, repeated, tag = "2")]
43    pub field: ::prost::alloc::vec::Vec<FieldDescriptorProto>,
44    #[prost(message, repeated, tag = "6")]
45    pub extension: ::prost::alloc::vec::Vec<FieldDescriptorProto>,
46    #[prost(message, repeated, tag = "3")]
47    pub nested_type: ::prost::alloc::vec::Vec<DescriptorProto>,
48    #[prost(message, repeated, tag = "4")]
49    pub enum_type: ::prost::alloc::vec::Vec<EnumDescriptorProto>,
50    #[prost(message, repeated, tag = "5")]
51    pub extension_range: ::prost::alloc::vec::Vec<descriptor_proto::ExtensionRange>,
52    #[prost(message, repeated, tag = "8")]
53    pub oneof_decl: ::prost::alloc::vec::Vec<OneofDescriptorProto>,
54    #[prost(message, optional, tag = "7")]
55    pub options: ::core::option::Option<MessageOptions>,
56    #[prost(message, repeated, tag = "9")]
57    pub reserved_range: ::prost::alloc::vec::Vec<descriptor_proto::ReservedRange>,
58    #[prost(string, repeated, tag = "10")]
59    pub reserved_name: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
60    #[prost(enumeration = "SymbolVisibility", optional, tag = "11")]
61    pub visibility: ::core::option::Option<i32>,
62}
63/// Nested message and enum types in `DescriptorProto`.
64pub mod descriptor_proto {
65    #[derive(Clone, PartialEq, ::prost::Message)]
66    pub struct ExtensionRange {
67        #[prost(int32, optional, tag = "1")]
68        pub start: ::core::option::Option<i32>,
69        #[prost(int32, optional, tag = "2")]
70        pub end: ::core::option::Option<i32>,
71        #[prost(message, optional, tag = "3")]
72        pub options: ::core::option::Option<super::ExtensionRangeOptions>,
73    }
74    #[derive(Clone, Copy, PartialEq, ::prost::Message)]
75    pub struct ReservedRange {
76        #[prost(int32, optional, tag = "1")]
77        pub start: ::core::option::Option<i32>,
78        #[prost(int32, optional, tag = "2")]
79        pub end: ::core::option::Option<i32>,
80    }
81}
82#[derive(Clone, PartialEq, ::prost::Message)]
83pub struct ExtensionRangeOptions {
84    #[prost(message, repeated, tag = "999")]
85    pub uninterpreted_option: ::prost::alloc::vec::Vec<UninterpretedOption>,
86    #[prost(message, repeated, tag = "2")]
87    pub declaration: ::prost::alloc::vec::Vec<extension_range_options::Declaration>,
88    #[prost(message, optional, tag = "50")]
89    pub features: ::core::option::Option<FeatureSet>,
90    #[prost(
91        enumeration = "extension_range_options::VerificationState",
92        optional,
93        tag = "3",
94        default = "Unverified"
95    )]
96    pub verification: ::core::option::Option<i32>,
97}
98/// Nested message and enum types in `ExtensionRangeOptions`.
99pub mod extension_range_options {
100    #[derive(Clone, PartialEq, ::prost::Message)]
101    pub struct Declaration {
102        #[prost(int32, optional, tag = "1")]
103        pub number: ::core::option::Option<i32>,
104        #[prost(string, optional, tag = "2")]
105        pub full_name: ::core::option::Option<::prost::alloc::string::String>,
106        #[prost(string, optional, tag = "3")]
107        pub r#type: ::core::option::Option<::prost::alloc::string::String>,
108        #[prost(bool, optional, tag = "5")]
109        pub reserved: ::core::option::Option<bool>,
110        #[prost(bool, optional, tag = "6")]
111        pub repeated: ::core::option::Option<bool>,
112    }
113    #[derive(
114        Clone,
115        Copy,
116        Debug,
117        PartialEq,
118        Eq,
119        Hash,
120        PartialOrd,
121        Ord,
122        ::prost::Enumeration
123    )]
124    #[repr(i32)]
125    pub enum VerificationState {
126        Declaration = 0,
127        Unverified = 1,
128    }
129    impl VerificationState {
130        /// String value of the enum field names used in the ProtoBuf definition.
131        ///
132        /// The values are not transformed in any way and thus are considered stable
133        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
134        pub fn as_str_name(&self) -> &'static str {
135            match self {
136                Self::Declaration => "DECLARATION",
137                Self::Unverified => "UNVERIFIED",
138            }
139        }
140        /// Creates an enum from field names used in the ProtoBuf definition.
141        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
142            match value {
143                "DECLARATION" => Some(Self::Declaration),
144                "UNVERIFIED" => Some(Self::Unverified),
145                _ => None,
146            }
147        }
148    }
149}
150#[derive(Clone, PartialEq, ::prost::Message)]
151pub struct FieldDescriptorProto {
152    #[prost(string, optional, tag = "1")]
153    pub name: ::core::option::Option<::prost::alloc::string::String>,
154    #[prost(int32, optional, tag = "3")]
155    pub number: ::core::option::Option<i32>,
156    #[prost(enumeration = "field_descriptor_proto::Label", optional, tag = "4")]
157    pub label: ::core::option::Option<i32>,
158    #[prost(enumeration = "field_descriptor_proto::Type", optional, tag = "5")]
159    pub r#type: ::core::option::Option<i32>,
160    #[prost(string, optional, tag = "6")]
161    pub type_name: ::core::option::Option<::prost::alloc::string::String>,
162    #[prost(string, optional, tag = "2")]
163    pub extendee: ::core::option::Option<::prost::alloc::string::String>,
164    #[prost(string, optional, tag = "7")]
165    pub default_value: ::core::option::Option<::prost::alloc::string::String>,
166    #[prost(int32, optional, tag = "9")]
167    pub oneof_index: ::core::option::Option<i32>,
168    #[prost(string, optional, tag = "10")]
169    pub json_name: ::core::option::Option<::prost::alloc::string::String>,
170    #[prost(message, optional, tag = "8")]
171    pub options: ::core::option::Option<FieldOptions>,
172    #[prost(bool, optional, tag = "17")]
173    pub proto3_optional: ::core::option::Option<bool>,
174}
175/// Nested message and enum types in `FieldDescriptorProto`.
176pub mod field_descriptor_proto {
177    #[derive(
178        Clone,
179        Copy,
180        Debug,
181        PartialEq,
182        Eq,
183        Hash,
184        PartialOrd,
185        Ord,
186        ::prost::Enumeration
187    )]
188    #[repr(i32)]
189    pub enum Type {
190        Double = 1,
191        Float = 2,
192        Int64 = 3,
193        Uint64 = 4,
194        Int32 = 5,
195        Fixed64 = 6,
196        Fixed32 = 7,
197        Bool = 8,
198        String = 9,
199        Group = 10,
200        Message = 11,
201        Bytes = 12,
202        Uint32 = 13,
203        Enum = 14,
204        Sfixed32 = 15,
205        Sfixed64 = 16,
206        Sint32 = 17,
207        Sint64 = 18,
208    }
209    impl Type {
210        /// String value of the enum field names used in the ProtoBuf definition.
211        ///
212        /// The values are not transformed in any way and thus are considered stable
213        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
214        pub fn as_str_name(&self) -> &'static str {
215            match self {
216                Self::Double => "TYPE_DOUBLE",
217                Self::Float => "TYPE_FLOAT",
218                Self::Int64 => "TYPE_INT64",
219                Self::Uint64 => "TYPE_UINT64",
220                Self::Int32 => "TYPE_INT32",
221                Self::Fixed64 => "TYPE_FIXED64",
222                Self::Fixed32 => "TYPE_FIXED32",
223                Self::Bool => "TYPE_BOOL",
224                Self::String => "TYPE_STRING",
225                Self::Group => "TYPE_GROUP",
226                Self::Message => "TYPE_MESSAGE",
227                Self::Bytes => "TYPE_BYTES",
228                Self::Uint32 => "TYPE_UINT32",
229                Self::Enum => "TYPE_ENUM",
230                Self::Sfixed32 => "TYPE_SFIXED32",
231                Self::Sfixed64 => "TYPE_SFIXED64",
232                Self::Sint32 => "TYPE_SINT32",
233                Self::Sint64 => "TYPE_SINT64",
234            }
235        }
236        /// Creates an enum from field names used in the ProtoBuf definition.
237        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
238            match value {
239                "TYPE_DOUBLE" => Some(Self::Double),
240                "TYPE_FLOAT" => Some(Self::Float),
241                "TYPE_INT64" => Some(Self::Int64),
242                "TYPE_UINT64" => Some(Self::Uint64),
243                "TYPE_INT32" => Some(Self::Int32),
244                "TYPE_FIXED64" => Some(Self::Fixed64),
245                "TYPE_FIXED32" => Some(Self::Fixed32),
246                "TYPE_BOOL" => Some(Self::Bool),
247                "TYPE_STRING" => Some(Self::String),
248                "TYPE_GROUP" => Some(Self::Group),
249                "TYPE_MESSAGE" => Some(Self::Message),
250                "TYPE_BYTES" => Some(Self::Bytes),
251                "TYPE_UINT32" => Some(Self::Uint32),
252                "TYPE_ENUM" => Some(Self::Enum),
253                "TYPE_SFIXED32" => Some(Self::Sfixed32),
254                "TYPE_SFIXED64" => Some(Self::Sfixed64),
255                "TYPE_SINT32" => Some(Self::Sint32),
256                "TYPE_SINT64" => Some(Self::Sint64),
257                _ => None,
258            }
259        }
260    }
261    #[derive(
262        Clone,
263        Copy,
264        Debug,
265        PartialEq,
266        Eq,
267        Hash,
268        PartialOrd,
269        Ord,
270        ::prost::Enumeration
271    )]
272    #[repr(i32)]
273    pub enum Label {
274        Optional = 1,
275        Repeated = 3,
276        Required = 2,
277    }
278    impl Label {
279        /// String value of the enum field names used in the ProtoBuf definition.
280        ///
281        /// The values are not transformed in any way and thus are considered stable
282        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
283        pub fn as_str_name(&self) -> &'static str {
284            match self {
285                Self::Optional => "LABEL_OPTIONAL",
286                Self::Repeated => "LABEL_REPEATED",
287                Self::Required => "LABEL_REQUIRED",
288            }
289        }
290        /// Creates an enum from field names used in the ProtoBuf definition.
291        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
292            match value {
293                "LABEL_OPTIONAL" => Some(Self::Optional),
294                "LABEL_REPEATED" => Some(Self::Repeated),
295                "LABEL_REQUIRED" => Some(Self::Required),
296                _ => None,
297            }
298        }
299    }
300}
301#[derive(Clone, PartialEq, ::prost::Message)]
302pub struct OneofDescriptorProto {
303    #[prost(string, optional, tag = "1")]
304    pub name: ::core::option::Option<::prost::alloc::string::String>,
305    #[prost(message, optional, tag = "2")]
306    pub options: ::core::option::Option<OneofOptions>,
307}
308#[derive(Clone, PartialEq, ::prost::Message)]
309pub struct EnumDescriptorProto {
310    #[prost(string, optional, tag = "1")]
311    pub name: ::core::option::Option<::prost::alloc::string::String>,
312    #[prost(message, repeated, tag = "2")]
313    pub value: ::prost::alloc::vec::Vec<EnumValueDescriptorProto>,
314    #[prost(message, optional, tag = "3")]
315    pub options: ::core::option::Option<EnumOptions>,
316    #[prost(message, repeated, tag = "4")]
317    pub reserved_range: ::prost::alloc::vec::Vec<
318        enum_descriptor_proto::EnumReservedRange,
319    >,
320    #[prost(string, repeated, tag = "5")]
321    pub reserved_name: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
322    #[prost(enumeration = "SymbolVisibility", optional, tag = "6")]
323    pub visibility: ::core::option::Option<i32>,
324}
325/// Nested message and enum types in `EnumDescriptorProto`.
326pub mod enum_descriptor_proto {
327    #[derive(Clone, Copy, PartialEq, ::prost::Message)]
328    pub struct EnumReservedRange {
329        #[prost(int32, optional, tag = "1")]
330        pub start: ::core::option::Option<i32>,
331        #[prost(int32, optional, tag = "2")]
332        pub end: ::core::option::Option<i32>,
333    }
334}
335#[derive(Clone, PartialEq, ::prost::Message)]
336pub struct EnumValueDescriptorProto {
337    #[prost(string, optional, tag = "1")]
338    pub name: ::core::option::Option<::prost::alloc::string::String>,
339    #[prost(int32, optional, tag = "2")]
340    pub number: ::core::option::Option<i32>,
341    #[prost(message, optional, tag = "3")]
342    pub options: ::core::option::Option<EnumValueOptions>,
343}
344#[derive(Clone, PartialEq, ::prost::Message)]
345pub struct ServiceDescriptorProto {
346    #[prost(string, optional, tag = "1")]
347    pub name: ::core::option::Option<::prost::alloc::string::String>,
348    #[prost(message, repeated, tag = "2")]
349    pub method: ::prost::alloc::vec::Vec<MethodDescriptorProto>,
350    #[prost(message, optional, tag = "3")]
351    pub options: ::core::option::Option<ServiceOptions>,
352}
353#[derive(Clone, PartialEq, ::prost::Message)]
354pub struct MethodDescriptorProto {
355    #[prost(string, optional, tag = "1")]
356    pub name: ::core::option::Option<::prost::alloc::string::String>,
357    #[prost(string, optional, tag = "2")]
358    pub input_type: ::core::option::Option<::prost::alloc::string::String>,
359    #[prost(string, optional, tag = "3")]
360    pub output_type: ::core::option::Option<::prost::alloc::string::String>,
361    #[prost(message, optional, tag = "4")]
362    pub options: ::core::option::Option<MethodOptions>,
363    #[prost(bool, optional, tag = "5", default = "false")]
364    pub client_streaming: ::core::option::Option<bool>,
365    #[prost(bool, optional, tag = "6", default = "false")]
366    pub server_streaming: ::core::option::Option<bool>,
367}
368#[derive(Clone, PartialEq, ::prost::Message)]
369pub struct FileOptions {
370    #[prost(string, optional, tag = "1")]
371    pub java_package: ::core::option::Option<::prost::alloc::string::String>,
372    #[prost(string, optional, tag = "8")]
373    pub java_outer_classname: ::core::option::Option<::prost::alloc::string::String>,
374    #[prost(bool, optional, tag = "10", default = "false")]
375    pub java_multiple_files: ::core::option::Option<bool>,
376    #[deprecated]
377    #[prost(bool, optional, tag = "20")]
378    pub java_generate_equals_and_hash: ::core::option::Option<bool>,
379    #[prost(bool, optional, tag = "27", default = "false")]
380    pub java_string_check_utf8: ::core::option::Option<bool>,
381    #[prost(
382        enumeration = "file_options::OptimizeMode",
383        optional,
384        tag = "9",
385        default = "Speed"
386    )]
387    pub optimize_for: ::core::option::Option<i32>,
388    #[prost(string, optional, tag = "11")]
389    pub go_package: ::core::option::Option<::prost::alloc::string::String>,
390    #[prost(bool, optional, tag = "16", default = "false")]
391    pub cc_generic_services: ::core::option::Option<bool>,
392    #[prost(bool, optional, tag = "17", default = "false")]
393    pub java_generic_services: ::core::option::Option<bool>,
394    #[prost(bool, optional, tag = "18", default = "false")]
395    pub py_generic_services: ::core::option::Option<bool>,
396    #[prost(bool, optional, tag = "23", default = "false")]
397    pub deprecated: ::core::option::Option<bool>,
398    #[prost(bool, optional, tag = "31", default = "true")]
399    pub cc_enable_arenas: ::core::option::Option<bool>,
400    #[prost(string, optional, tag = "36")]
401    pub objc_class_prefix: ::core::option::Option<::prost::alloc::string::String>,
402    #[prost(string, optional, tag = "37")]
403    pub csharp_namespace: ::core::option::Option<::prost::alloc::string::String>,
404    #[prost(string, optional, tag = "39")]
405    pub swift_prefix: ::core::option::Option<::prost::alloc::string::String>,
406    #[prost(string, optional, tag = "40")]
407    pub php_class_prefix: ::core::option::Option<::prost::alloc::string::String>,
408    #[prost(string, optional, tag = "41")]
409    pub php_namespace: ::core::option::Option<::prost::alloc::string::String>,
410    #[prost(string, optional, tag = "44")]
411    pub php_metadata_namespace: ::core::option::Option<::prost::alloc::string::String>,
412    #[prost(string, optional, tag = "45")]
413    pub ruby_package: ::core::option::Option<::prost::alloc::string::String>,
414    #[prost(message, optional, tag = "50")]
415    pub features: ::core::option::Option<FeatureSet>,
416    #[prost(message, repeated, tag = "999")]
417    pub uninterpreted_option: ::prost::alloc::vec::Vec<UninterpretedOption>,
418}
419/// Nested message and enum types in `FileOptions`.
420pub mod file_options {
421    #[derive(
422        Clone,
423        Copy,
424        Debug,
425        PartialEq,
426        Eq,
427        Hash,
428        PartialOrd,
429        Ord,
430        ::prost::Enumeration
431    )]
432    #[repr(i32)]
433    pub enum OptimizeMode {
434        Speed = 1,
435        CodeSize = 2,
436        LiteRuntime = 3,
437    }
438    impl OptimizeMode {
439        /// String value of the enum field names used in the ProtoBuf definition.
440        ///
441        /// The values are not transformed in any way and thus are considered stable
442        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
443        pub fn as_str_name(&self) -> &'static str {
444            match self {
445                Self::Speed => "SPEED",
446                Self::CodeSize => "CODE_SIZE",
447                Self::LiteRuntime => "LITE_RUNTIME",
448            }
449        }
450        /// Creates an enum from field names used in the ProtoBuf definition.
451        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
452            match value {
453                "SPEED" => Some(Self::Speed),
454                "CODE_SIZE" => Some(Self::CodeSize),
455                "LITE_RUNTIME" => Some(Self::LiteRuntime),
456                _ => None,
457            }
458        }
459    }
460}
461#[derive(Clone, PartialEq, ::prost::Message)]
462pub struct MessageOptions {
463    #[prost(bool, optional, tag = "1", default = "false")]
464    pub message_set_wire_format: ::core::option::Option<bool>,
465    #[prost(bool, optional, tag = "2", default = "false")]
466    pub no_standard_descriptor_accessor: ::core::option::Option<bool>,
467    #[prost(bool, optional, tag = "3", default = "false")]
468    pub deprecated: ::core::option::Option<bool>,
469    #[prost(bool, optional, tag = "7")]
470    pub map_entry: ::core::option::Option<bool>,
471    #[deprecated]
472    #[prost(bool, optional, tag = "11")]
473    pub deprecated_legacy_json_field_conflicts: ::core::option::Option<bool>,
474    #[prost(message, optional, tag = "12")]
475    pub features: ::core::option::Option<FeatureSet>,
476    #[prost(message, repeated, tag = "999")]
477    pub uninterpreted_option: ::prost::alloc::vec::Vec<UninterpretedOption>,
478}
479#[derive(Clone, PartialEq, ::prost::Message)]
480pub struct FieldOptions {
481    #[prost(
482        enumeration = "field_options::CType",
483        optional,
484        tag = "1",
485        default = "String"
486    )]
487    pub ctype: ::core::option::Option<i32>,
488    #[prost(bool, optional, tag = "2")]
489    pub packed: ::core::option::Option<bool>,
490    #[prost(
491        enumeration = "field_options::JsType",
492        optional,
493        tag = "6",
494        default = "JsNormal"
495    )]
496    pub jstype: ::core::option::Option<i32>,
497    #[prost(bool, optional, tag = "5", default = "false")]
498    pub lazy: ::core::option::Option<bool>,
499    #[prost(bool, optional, tag = "15", default = "false")]
500    pub unverified_lazy: ::core::option::Option<bool>,
501    #[prost(bool, optional, tag = "3", default = "false")]
502    pub deprecated: ::core::option::Option<bool>,
503    #[deprecated]
504    #[prost(bool, optional, tag = "10", default = "false")]
505    pub weak: ::core::option::Option<bool>,
506    #[prost(bool, optional, tag = "16", default = "false")]
507    pub debug_redact: ::core::option::Option<bool>,
508    #[prost(enumeration = "field_options::OptionRetention", optional, tag = "17")]
509    pub retention: ::core::option::Option<i32>,
510    #[prost(
511        enumeration = "field_options::OptionTargetType",
512        repeated,
513        packed = "false",
514        tag = "19"
515    )]
516    pub targets: ::prost::alloc::vec::Vec<i32>,
517    #[prost(message, repeated, tag = "20")]
518    pub edition_defaults: ::prost::alloc::vec::Vec<field_options::EditionDefault>,
519    #[prost(message, optional, tag = "21")]
520    pub features: ::core::option::Option<FeatureSet>,
521    #[prost(message, optional, tag = "22")]
522    pub feature_support: ::core::option::Option<field_options::FeatureSupport>,
523    #[prost(message, repeated, tag = "999")]
524    pub uninterpreted_option: ::prost::alloc::vec::Vec<UninterpretedOption>,
525}
526/// Nested message and enum types in `FieldOptions`.
527pub mod field_options {
528    #[derive(Clone, PartialEq, ::prost::Message)]
529    pub struct EditionDefault {
530        #[prost(enumeration = "super::Edition", optional, tag = "3")]
531        pub edition: ::core::option::Option<i32>,
532        #[prost(string, optional, tag = "2")]
533        pub value: ::core::option::Option<::prost::alloc::string::String>,
534    }
535    #[derive(Clone, PartialEq, ::prost::Message)]
536    pub struct FeatureSupport {
537        #[prost(enumeration = "super::Edition", optional, tag = "1")]
538        pub edition_introduced: ::core::option::Option<i32>,
539        #[prost(enumeration = "super::Edition", optional, tag = "2")]
540        pub edition_deprecated: ::core::option::Option<i32>,
541        #[prost(string, optional, tag = "3")]
542        pub deprecation_warning: ::core::option::Option<::prost::alloc::string::String>,
543        #[prost(enumeration = "super::Edition", optional, tag = "4")]
544        pub edition_removed: ::core::option::Option<i32>,
545    }
546    #[derive(
547        Clone,
548        Copy,
549        Debug,
550        PartialEq,
551        Eq,
552        Hash,
553        PartialOrd,
554        Ord,
555        ::prost::Enumeration
556    )]
557    #[repr(i32)]
558    pub enum CType {
559        String = 0,
560        Cord = 1,
561        StringPiece = 2,
562    }
563    impl CType {
564        /// String value of the enum field names used in the ProtoBuf definition.
565        ///
566        /// The values are not transformed in any way and thus are considered stable
567        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
568        pub fn as_str_name(&self) -> &'static str {
569            match self {
570                Self::String => "STRING",
571                Self::Cord => "CORD",
572                Self::StringPiece => "STRING_PIECE",
573            }
574        }
575        /// Creates an enum from field names used in the ProtoBuf definition.
576        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
577            match value {
578                "STRING" => Some(Self::String),
579                "CORD" => Some(Self::Cord),
580                "STRING_PIECE" => Some(Self::StringPiece),
581                _ => None,
582            }
583        }
584    }
585    #[derive(
586        Clone,
587        Copy,
588        Debug,
589        PartialEq,
590        Eq,
591        Hash,
592        PartialOrd,
593        Ord,
594        ::prost::Enumeration
595    )]
596    #[repr(i32)]
597    pub enum JsType {
598        JsNormal = 0,
599        JsString = 1,
600        JsNumber = 2,
601    }
602    impl JsType {
603        /// String value of the enum field names used in the ProtoBuf definition.
604        ///
605        /// The values are not transformed in any way and thus are considered stable
606        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
607        pub fn as_str_name(&self) -> &'static str {
608            match self {
609                Self::JsNormal => "JS_NORMAL",
610                Self::JsString => "JS_STRING",
611                Self::JsNumber => "JS_NUMBER",
612            }
613        }
614        /// Creates an enum from field names used in the ProtoBuf definition.
615        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
616            match value {
617                "JS_NORMAL" => Some(Self::JsNormal),
618                "JS_STRING" => Some(Self::JsString),
619                "JS_NUMBER" => Some(Self::JsNumber),
620                _ => None,
621            }
622        }
623    }
624    #[derive(
625        Clone,
626        Copy,
627        Debug,
628        PartialEq,
629        Eq,
630        Hash,
631        PartialOrd,
632        Ord,
633        ::prost::Enumeration
634    )]
635    #[repr(i32)]
636    pub enum OptionRetention {
637        RetentionUnknown = 0,
638        RetentionRuntime = 1,
639        RetentionSource = 2,
640    }
641    impl OptionRetention {
642        /// String value of the enum field names used in the ProtoBuf definition.
643        ///
644        /// The values are not transformed in any way and thus are considered stable
645        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
646        pub fn as_str_name(&self) -> &'static str {
647            match self {
648                Self::RetentionUnknown => "RETENTION_UNKNOWN",
649                Self::RetentionRuntime => "RETENTION_RUNTIME",
650                Self::RetentionSource => "RETENTION_SOURCE",
651            }
652        }
653        /// Creates an enum from field names used in the ProtoBuf definition.
654        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
655            match value {
656                "RETENTION_UNKNOWN" => Some(Self::RetentionUnknown),
657                "RETENTION_RUNTIME" => Some(Self::RetentionRuntime),
658                "RETENTION_SOURCE" => Some(Self::RetentionSource),
659                _ => None,
660            }
661        }
662    }
663    #[derive(
664        Clone,
665        Copy,
666        Debug,
667        PartialEq,
668        Eq,
669        Hash,
670        PartialOrd,
671        Ord,
672        ::prost::Enumeration
673    )]
674    #[repr(i32)]
675    pub enum OptionTargetType {
676        TargetTypeUnknown = 0,
677        TargetTypeFile = 1,
678        TargetTypeExtensionRange = 2,
679        TargetTypeMessage = 3,
680        TargetTypeField = 4,
681        TargetTypeOneof = 5,
682        TargetTypeEnum = 6,
683        TargetTypeEnumEntry = 7,
684        TargetTypeService = 8,
685        TargetTypeMethod = 9,
686    }
687    impl OptionTargetType {
688        /// String value of the enum field names used in the ProtoBuf definition.
689        ///
690        /// The values are not transformed in any way and thus are considered stable
691        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
692        pub fn as_str_name(&self) -> &'static str {
693            match self {
694                Self::TargetTypeUnknown => "TARGET_TYPE_UNKNOWN",
695                Self::TargetTypeFile => "TARGET_TYPE_FILE",
696                Self::TargetTypeExtensionRange => "TARGET_TYPE_EXTENSION_RANGE",
697                Self::TargetTypeMessage => "TARGET_TYPE_MESSAGE",
698                Self::TargetTypeField => "TARGET_TYPE_FIELD",
699                Self::TargetTypeOneof => "TARGET_TYPE_ONEOF",
700                Self::TargetTypeEnum => "TARGET_TYPE_ENUM",
701                Self::TargetTypeEnumEntry => "TARGET_TYPE_ENUM_ENTRY",
702                Self::TargetTypeService => "TARGET_TYPE_SERVICE",
703                Self::TargetTypeMethod => "TARGET_TYPE_METHOD",
704            }
705        }
706        /// Creates an enum from field names used in the ProtoBuf definition.
707        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
708            match value {
709                "TARGET_TYPE_UNKNOWN" => Some(Self::TargetTypeUnknown),
710                "TARGET_TYPE_FILE" => Some(Self::TargetTypeFile),
711                "TARGET_TYPE_EXTENSION_RANGE" => Some(Self::TargetTypeExtensionRange),
712                "TARGET_TYPE_MESSAGE" => Some(Self::TargetTypeMessage),
713                "TARGET_TYPE_FIELD" => Some(Self::TargetTypeField),
714                "TARGET_TYPE_ONEOF" => Some(Self::TargetTypeOneof),
715                "TARGET_TYPE_ENUM" => Some(Self::TargetTypeEnum),
716                "TARGET_TYPE_ENUM_ENTRY" => Some(Self::TargetTypeEnumEntry),
717                "TARGET_TYPE_SERVICE" => Some(Self::TargetTypeService),
718                "TARGET_TYPE_METHOD" => Some(Self::TargetTypeMethod),
719                _ => None,
720            }
721        }
722    }
723}
724#[derive(Clone, PartialEq, ::prost::Message)]
725pub struct OneofOptions {
726    #[prost(message, optional, tag = "1")]
727    pub features: ::core::option::Option<FeatureSet>,
728    #[prost(message, repeated, tag = "999")]
729    pub uninterpreted_option: ::prost::alloc::vec::Vec<UninterpretedOption>,
730}
731#[derive(Clone, PartialEq, ::prost::Message)]
732pub struct EnumOptions {
733    #[prost(bool, optional, tag = "2")]
734    pub allow_alias: ::core::option::Option<bool>,
735    #[prost(bool, optional, tag = "3", default = "false")]
736    pub deprecated: ::core::option::Option<bool>,
737    #[deprecated]
738    #[prost(bool, optional, tag = "6")]
739    pub deprecated_legacy_json_field_conflicts: ::core::option::Option<bool>,
740    #[prost(message, optional, tag = "7")]
741    pub features: ::core::option::Option<FeatureSet>,
742    #[prost(message, repeated, tag = "999")]
743    pub uninterpreted_option: ::prost::alloc::vec::Vec<UninterpretedOption>,
744}
745#[derive(Clone, PartialEq, ::prost::Message)]
746pub struct EnumValueOptions {
747    #[prost(bool, optional, tag = "1", default = "false")]
748    pub deprecated: ::core::option::Option<bool>,
749    #[prost(message, optional, tag = "2")]
750    pub features: ::core::option::Option<FeatureSet>,
751    #[prost(bool, optional, tag = "3", default = "false")]
752    pub debug_redact: ::core::option::Option<bool>,
753    #[prost(message, optional, tag = "4")]
754    pub feature_support: ::core::option::Option<field_options::FeatureSupport>,
755    #[prost(message, repeated, tag = "999")]
756    pub uninterpreted_option: ::prost::alloc::vec::Vec<UninterpretedOption>,
757}
758#[derive(Clone, PartialEq, ::prost::Message)]
759pub struct ServiceOptions {
760    #[prost(message, optional, tag = "34")]
761    pub features: ::core::option::Option<FeatureSet>,
762    #[prost(bool, optional, tag = "33", default = "false")]
763    pub deprecated: ::core::option::Option<bool>,
764    #[prost(message, repeated, tag = "999")]
765    pub uninterpreted_option: ::prost::alloc::vec::Vec<UninterpretedOption>,
766}
767#[derive(Clone, PartialEq, ::prost::Message)]
768pub struct MethodOptions {
769    #[prost(bool, optional, tag = "33", default = "false")]
770    pub deprecated: ::core::option::Option<bool>,
771    #[prost(
772        enumeration = "method_options::IdempotencyLevel",
773        optional,
774        tag = "34",
775        default = "IdempotencyUnknown"
776    )]
777    pub idempotency_level: ::core::option::Option<i32>,
778    #[prost(message, optional, tag = "35")]
779    pub features: ::core::option::Option<FeatureSet>,
780    #[prost(message, repeated, tag = "999")]
781    pub uninterpreted_option: ::prost::alloc::vec::Vec<UninterpretedOption>,
782}
783/// Nested message and enum types in `MethodOptions`.
784pub mod method_options {
785    #[derive(
786        Clone,
787        Copy,
788        Debug,
789        PartialEq,
790        Eq,
791        Hash,
792        PartialOrd,
793        Ord,
794        ::prost::Enumeration
795    )]
796    #[repr(i32)]
797    pub enum IdempotencyLevel {
798        IdempotencyUnknown = 0,
799        NoSideEffects = 1,
800        Idempotent = 2,
801    }
802    impl IdempotencyLevel {
803        /// String value of the enum field names used in the ProtoBuf definition.
804        ///
805        /// The values are not transformed in any way and thus are considered stable
806        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
807        pub fn as_str_name(&self) -> &'static str {
808            match self {
809                Self::IdempotencyUnknown => "IDEMPOTENCY_UNKNOWN",
810                Self::NoSideEffects => "NO_SIDE_EFFECTS",
811                Self::Idempotent => "IDEMPOTENT",
812            }
813        }
814        /// Creates an enum from field names used in the ProtoBuf definition.
815        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
816            match value {
817                "IDEMPOTENCY_UNKNOWN" => Some(Self::IdempotencyUnknown),
818                "NO_SIDE_EFFECTS" => Some(Self::NoSideEffects),
819                "IDEMPOTENT" => Some(Self::Idempotent),
820                _ => None,
821            }
822        }
823    }
824}
825#[derive(Clone, PartialEq, ::prost::Message)]
826pub struct UninterpretedOption {
827    #[prost(message, repeated, tag = "2")]
828    pub name: ::prost::alloc::vec::Vec<uninterpreted_option::NamePart>,
829    #[prost(string, optional, tag = "3")]
830    pub identifier_value: ::core::option::Option<::prost::alloc::string::String>,
831    #[prost(uint64, optional, tag = "4")]
832    pub positive_int_value: ::core::option::Option<u64>,
833    #[prost(int64, optional, tag = "5")]
834    pub negative_int_value: ::core::option::Option<i64>,
835    #[prost(double, optional, tag = "6")]
836    pub double_value: ::core::option::Option<f64>,
837    #[prost(bytes = "vec", optional, tag = "7")]
838    pub string_value: ::core::option::Option<::prost::alloc::vec::Vec<u8>>,
839    #[prost(string, optional, tag = "8")]
840    pub aggregate_value: ::core::option::Option<::prost::alloc::string::String>,
841}
842/// Nested message and enum types in `UninterpretedOption`.
843pub mod uninterpreted_option {
844    #[derive(Clone, PartialEq, ::prost::Message)]
845    pub struct NamePart {
846        #[prost(string, required, tag = "1")]
847        pub name_part: ::prost::alloc::string::String,
848        #[prost(bool, required, tag = "2")]
849        pub is_extension: bool,
850    }
851}
852#[derive(Clone, Copy, PartialEq, ::prost::Message)]
853pub struct FeatureSet {
854    #[prost(enumeration = "feature_set::FieldPresence", optional, tag = "1")]
855    pub field_presence: ::core::option::Option<i32>,
856    #[prost(enumeration = "feature_set::EnumType", optional, tag = "2")]
857    pub enum_type: ::core::option::Option<i32>,
858    #[prost(enumeration = "feature_set::RepeatedFieldEncoding", optional, tag = "3")]
859    pub repeated_field_encoding: ::core::option::Option<i32>,
860    #[prost(enumeration = "feature_set::Utf8Validation", optional, tag = "4")]
861    pub utf8_validation: ::core::option::Option<i32>,
862    #[prost(enumeration = "feature_set::MessageEncoding", optional, tag = "5")]
863    pub message_encoding: ::core::option::Option<i32>,
864    #[prost(enumeration = "feature_set::JsonFormat", optional, tag = "6")]
865    pub json_format: ::core::option::Option<i32>,
866    #[prost(enumeration = "feature_set::EnforceNamingStyle", optional, tag = "7")]
867    pub enforce_naming_style: ::core::option::Option<i32>,
868    #[prost(
869        enumeration = "feature_set::visibility_feature::DefaultSymbolVisibility",
870        optional,
871        tag = "8"
872    )]
873    pub default_symbol_visibility: ::core::option::Option<i32>,
874}
875/// Nested message and enum types in `FeatureSet`.
876pub mod feature_set {
877    #[derive(Clone, Copy, PartialEq, ::prost::Message)]
878    pub struct VisibilityFeature {}
879    /// Nested message and enum types in `VisibilityFeature`.
880    pub mod visibility_feature {
881        #[derive(
882            Clone,
883            Copy,
884            Debug,
885            PartialEq,
886            Eq,
887            Hash,
888            PartialOrd,
889            Ord,
890            ::prost::Enumeration
891        )]
892        #[repr(i32)]
893        pub enum DefaultSymbolVisibility {
894            Unknown = 0,
895            ExportAll = 1,
896            ExportTopLevel = 2,
897            LocalAll = 3,
898            Strict = 4,
899        }
900        impl DefaultSymbolVisibility {
901            /// String value of the enum field names used in the ProtoBuf definition.
902            ///
903            /// The values are not transformed in any way and thus are considered stable
904            /// (if the ProtoBuf definition does not change) and safe for programmatic use.
905            pub fn as_str_name(&self) -> &'static str {
906                match self {
907                    Self::Unknown => "DEFAULT_SYMBOL_VISIBILITY_UNKNOWN",
908                    Self::ExportAll => "EXPORT_ALL",
909                    Self::ExportTopLevel => "EXPORT_TOP_LEVEL",
910                    Self::LocalAll => "LOCAL_ALL",
911                    Self::Strict => "STRICT",
912                }
913            }
914            /// Creates an enum from field names used in the ProtoBuf definition.
915            pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
916                match value {
917                    "DEFAULT_SYMBOL_VISIBILITY_UNKNOWN" => Some(Self::Unknown),
918                    "EXPORT_ALL" => Some(Self::ExportAll),
919                    "EXPORT_TOP_LEVEL" => Some(Self::ExportTopLevel),
920                    "LOCAL_ALL" => Some(Self::LocalAll),
921                    "STRICT" => Some(Self::Strict),
922                    _ => None,
923                }
924            }
925        }
926    }
927    #[derive(
928        Clone,
929        Copy,
930        Debug,
931        PartialEq,
932        Eq,
933        Hash,
934        PartialOrd,
935        Ord,
936        ::prost::Enumeration
937    )]
938    #[repr(i32)]
939    pub enum FieldPresence {
940        Unknown = 0,
941        Explicit = 1,
942        Implicit = 2,
943        LegacyRequired = 3,
944    }
945    impl FieldPresence {
946        /// String value of the enum field names used in the ProtoBuf definition.
947        ///
948        /// The values are not transformed in any way and thus are considered stable
949        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
950        pub fn as_str_name(&self) -> &'static str {
951            match self {
952                Self::Unknown => "FIELD_PRESENCE_UNKNOWN",
953                Self::Explicit => "EXPLICIT",
954                Self::Implicit => "IMPLICIT",
955                Self::LegacyRequired => "LEGACY_REQUIRED",
956            }
957        }
958        /// Creates an enum from field names used in the ProtoBuf definition.
959        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
960            match value {
961                "FIELD_PRESENCE_UNKNOWN" => Some(Self::Unknown),
962                "EXPLICIT" => Some(Self::Explicit),
963                "IMPLICIT" => Some(Self::Implicit),
964                "LEGACY_REQUIRED" => Some(Self::LegacyRequired),
965                _ => None,
966            }
967        }
968    }
969    #[derive(
970        Clone,
971        Copy,
972        Debug,
973        PartialEq,
974        Eq,
975        Hash,
976        PartialOrd,
977        Ord,
978        ::prost::Enumeration
979    )]
980    #[repr(i32)]
981    pub enum EnumType {
982        Unknown = 0,
983        Open = 1,
984        Closed = 2,
985    }
986    impl EnumType {
987        /// String value of the enum field names used in the ProtoBuf definition.
988        ///
989        /// The values are not transformed in any way and thus are considered stable
990        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
991        pub fn as_str_name(&self) -> &'static str {
992            match self {
993                Self::Unknown => "ENUM_TYPE_UNKNOWN",
994                Self::Open => "OPEN",
995                Self::Closed => "CLOSED",
996            }
997        }
998        /// Creates an enum from field names used in the ProtoBuf definition.
999        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1000            match value {
1001                "ENUM_TYPE_UNKNOWN" => Some(Self::Unknown),
1002                "OPEN" => Some(Self::Open),
1003                "CLOSED" => Some(Self::Closed),
1004                _ => None,
1005            }
1006        }
1007    }
1008    #[derive(
1009        Clone,
1010        Copy,
1011        Debug,
1012        PartialEq,
1013        Eq,
1014        Hash,
1015        PartialOrd,
1016        Ord,
1017        ::prost::Enumeration
1018    )]
1019    #[repr(i32)]
1020    pub enum RepeatedFieldEncoding {
1021        Unknown = 0,
1022        Packed = 1,
1023        Expanded = 2,
1024    }
1025    impl RepeatedFieldEncoding {
1026        /// String value of the enum field names used in the ProtoBuf definition.
1027        ///
1028        /// The values are not transformed in any way and thus are considered stable
1029        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1030        pub fn as_str_name(&self) -> &'static str {
1031            match self {
1032                Self::Unknown => "REPEATED_FIELD_ENCODING_UNKNOWN",
1033                Self::Packed => "PACKED",
1034                Self::Expanded => "EXPANDED",
1035            }
1036        }
1037        /// Creates an enum from field names used in the ProtoBuf definition.
1038        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1039            match value {
1040                "REPEATED_FIELD_ENCODING_UNKNOWN" => Some(Self::Unknown),
1041                "PACKED" => Some(Self::Packed),
1042                "EXPANDED" => Some(Self::Expanded),
1043                _ => None,
1044            }
1045        }
1046    }
1047    #[derive(
1048        Clone,
1049        Copy,
1050        Debug,
1051        PartialEq,
1052        Eq,
1053        Hash,
1054        PartialOrd,
1055        Ord,
1056        ::prost::Enumeration
1057    )]
1058    #[repr(i32)]
1059    pub enum Utf8Validation {
1060        Unknown = 0,
1061        Verify = 2,
1062        None = 3,
1063    }
1064    impl Utf8Validation {
1065        /// String value of the enum field names used in the ProtoBuf definition.
1066        ///
1067        /// The values are not transformed in any way and thus are considered stable
1068        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1069        pub fn as_str_name(&self) -> &'static str {
1070            match self {
1071                Self::Unknown => "UTF8_VALIDATION_UNKNOWN",
1072                Self::Verify => "VERIFY",
1073                Self::None => "NONE",
1074            }
1075        }
1076        /// Creates an enum from field names used in the ProtoBuf definition.
1077        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1078            match value {
1079                "UTF8_VALIDATION_UNKNOWN" => Some(Self::Unknown),
1080                "VERIFY" => Some(Self::Verify),
1081                "NONE" => Some(Self::None),
1082                _ => None,
1083            }
1084        }
1085    }
1086    #[derive(
1087        Clone,
1088        Copy,
1089        Debug,
1090        PartialEq,
1091        Eq,
1092        Hash,
1093        PartialOrd,
1094        Ord,
1095        ::prost::Enumeration
1096    )]
1097    #[repr(i32)]
1098    pub enum MessageEncoding {
1099        Unknown = 0,
1100        LengthPrefixed = 1,
1101        Delimited = 2,
1102    }
1103    impl MessageEncoding {
1104        /// String value of the enum field names used in the ProtoBuf definition.
1105        ///
1106        /// The values are not transformed in any way and thus are considered stable
1107        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1108        pub fn as_str_name(&self) -> &'static str {
1109            match self {
1110                Self::Unknown => "MESSAGE_ENCODING_UNKNOWN",
1111                Self::LengthPrefixed => "LENGTH_PREFIXED",
1112                Self::Delimited => "DELIMITED",
1113            }
1114        }
1115        /// Creates an enum from field names used in the ProtoBuf definition.
1116        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1117            match value {
1118                "MESSAGE_ENCODING_UNKNOWN" => Some(Self::Unknown),
1119                "LENGTH_PREFIXED" => Some(Self::LengthPrefixed),
1120                "DELIMITED" => Some(Self::Delimited),
1121                _ => None,
1122            }
1123        }
1124    }
1125    #[derive(
1126        Clone,
1127        Copy,
1128        Debug,
1129        PartialEq,
1130        Eq,
1131        Hash,
1132        PartialOrd,
1133        Ord,
1134        ::prost::Enumeration
1135    )]
1136    #[repr(i32)]
1137    pub enum JsonFormat {
1138        Unknown = 0,
1139        Allow = 1,
1140        LegacyBestEffort = 2,
1141    }
1142    impl JsonFormat {
1143        /// String value of the enum field names used in the ProtoBuf definition.
1144        ///
1145        /// The values are not transformed in any way and thus are considered stable
1146        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1147        pub fn as_str_name(&self) -> &'static str {
1148            match self {
1149                Self::Unknown => "JSON_FORMAT_UNKNOWN",
1150                Self::Allow => "ALLOW",
1151                Self::LegacyBestEffort => "LEGACY_BEST_EFFORT",
1152            }
1153        }
1154        /// Creates an enum from field names used in the ProtoBuf definition.
1155        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1156            match value {
1157                "JSON_FORMAT_UNKNOWN" => Some(Self::Unknown),
1158                "ALLOW" => Some(Self::Allow),
1159                "LEGACY_BEST_EFFORT" => Some(Self::LegacyBestEffort),
1160                _ => None,
1161            }
1162        }
1163    }
1164    #[derive(
1165        Clone,
1166        Copy,
1167        Debug,
1168        PartialEq,
1169        Eq,
1170        Hash,
1171        PartialOrd,
1172        Ord,
1173        ::prost::Enumeration
1174    )]
1175    #[repr(i32)]
1176    pub enum EnforceNamingStyle {
1177        Unknown = 0,
1178        Style2024 = 1,
1179        StyleLegacy = 2,
1180    }
1181    impl EnforceNamingStyle {
1182        /// String value of the enum field names used in the ProtoBuf definition.
1183        ///
1184        /// The values are not transformed in any way and thus are considered stable
1185        /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1186        pub fn as_str_name(&self) -> &'static str {
1187            match self {
1188                Self::Unknown => "ENFORCE_NAMING_STYLE_UNKNOWN",
1189                Self::Style2024 => "STYLE2024",
1190                Self::StyleLegacy => "STYLE_LEGACY",
1191            }
1192        }
1193        /// Creates an enum from field names used in the ProtoBuf definition.
1194        pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1195            match value {
1196                "ENFORCE_NAMING_STYLE_UNKNOWN" => Some(Self::Unknown),
1197                "STYLE2024" => Some(Self::Style2024),
1198                "STYLE_LEGACY" => Some(Self::StyleLegacy),
1199                _ => None,
1200            }
1201        }
1202    }
1203}
1204#[derive(Clone, PartialEq, ::prost::Message)]
1205pub struct FeatureSetDefaults {
1206    #[prost(message, repeated, tag = "1")]
1207    pub defaults: ::prost::alloc::vec::Vec<
1208        feature_set_defaults::FeatureSetEditionDefault,
1209    >,
1210    #[prost(enumeration = "Edition", optional, tag = "4")]
1211    pub minimum_edition: ::core::option::Option<i32>,
1212    #[prost(enumeration = "Edition", optional, tag = "5")]
1213    pub maximum_edition: ::core::option::Option<i32>,
1214}
1215/// Nested message and enum types in `FeatureSetDefaults`.
1216pub mod feature_set_defaults {
1217    #[derive(Clone, Copy, PartialEq, ::prost::Message)]
1218    pub struct FeatureSetEditionDefault {
1219        #[prost(enumeration = "super::Edition", optional, tag = "3")]
1220        pub edition: ::core::option::Option<i32>,
1221        #[prost(message, optional, tag = "4")]
1222        pub overridable_features: ::core::option::Option<super::FeatureSet>,
1223        #[prost(message, optional, tag = "5")]
1224        pub fixed_features: ::core::option::Option<super::FeatureSet>,
1225    }
1226}
1227#[derive(Clone, PartialEq, ::prost::Message)]
1228pub struct SourceCodeInfo {
1229    #[prost(message, repeated, tag = "1")]
1230    pub location: ::prost::alloc::vec::Vec<source_code_info::Location>,
1231}
1232/// Nested message and enum types in `SourceCodeInfo`.
1233pub mod source_code_info {
1234    #[derive(Clone, PartialEq, ::prost::Message)]
1235    pub struct Location {
1236        #[prost(int32, repeated, tag = "1")]
1237        pub path: ::prost::alloc::vec::Vec<i32>,
1238        #[prost(int32, repeated, tag = "2")]
1239        pub span: ::prost::alloc::vec::Vec<i32>,
1240        #[prost(string, optional, tag = "3")]
1241        pub leading_comments: ::core::option::Option<::prost::alloc::string::String>,
1242        #[prost(string, optional, tag = "4")]
1243        pub trailing_comments: ::core::option::Option<::prost::alloc::string::String>,
1244        #[prost(string, repeated, tag = "6")]
1245        pub leading_detached_comments: ::prost::alloc::vec::Vec<
1246            ::prost::alloc::string::String,
1247        >,
1248    }
1249}
1250#[derive(Clone, PartialEq, ::prost::Message)]
1251pub struct GeneratedCodeInfo {
1252    #[prost(message, repeated, tag = "1")]
1253    pub annotation: ::prost::alloc::vec::Vec<generated_code_info::Annotation>,
1254}
1255/// Nested message and enum types in `GeneratedCodeInfo`.
1256pub mod generated_code_info {
1257    #[derive(Clone, PartialEq, ::prost::Message)]
1258    pub struct Annotation {
1259        #[prost(int32, repeated, tag = "1")]
1260        pub path: ::prost::alloc::vec::Vec<i32>,
1261        #[prost(string, optional, tag = "2")]
1262        pub source_file: ::core::option::Option<::prost::alloc::string::String>,
1263        #[prost(int32, optional, tag = "3")]
1264        pub begin: ::core::option::Option<i32>,
1265        #[prost(int32, optional, tag = "4")]
1266        pub end: ::core::option::Option<i32>,
1267        #[prost(enumeration = "annotation::Semantic", optional, tag = "5")]
1268        pub semantic: ::core::option::Option<i32>,
1269    }
1270    /// Nested message and enum types in `Annotation`.
1271    pub mod annotation {
1272        #[derive(
1273            Clone,
1274            Copy,
1275            Debug,
1276            PartialEq,
1277            Eq,
1278            Hash,
1279            PartialOrd,
1280            Ord,
1281            ::prost::Enumeration
1282        )]
1283        #[repr(i32)]
1284        pub enum Semantic {
1285            None = 0,
1286            Set = 1,
1287            Alias = 2,
1288        }
1289        impl Semantic {
1290            /// String value of the enum field names used in the ProtoBuf definition.
1291            ///
1292            /// The values are not transformed in any way and thus are considered stable
1293            /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1294            pub fn as_str_name(&self) -> &'static str {
1295                match self {
1296                    Self::None => "NONE",
1297                    Self::Set => "SET",
1298                    Self::Alias => "ALIAS",
1299                }
1300            }
1301            /// Creates an enum from field names used in the ProtoBuf definition.
1302            pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1303                match value {
1304                    "NONE" => Some(Self::None),
1305                    "SET" => Some(Self::Set),
1306                    "ALIAS" => Some(Self::Alias),
1307                    _ => None,
1308                }
1309            }
1310        }
1311    }
1312}
1313#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1314#[repr(i32)]
1315pub enum Edition {
1316    Unknown = 0,
1317    Legacy = 900,
1318    Proto2 = 998,
1319    Proto3 = 999,
1320    Edition2023 = 1000,
1321    Edition2024 = 1001,
1322    Unstable = 9999,
1323    Edition1TestOnly = 1,
1324    Edition2TestOnly = 2,
1325    Edition99997TestOnly = 99997,
1326    Edition99998TestOnly = 99998,
1327    Edition99999TestOnly = 99999,
1328    Max = 2147483647,
1329}
1330impl Edition {
1331    /// String value of the enum field names used in the ProtoBuf definition.
1332    ///
1333    /// The values are not transformed in any way and thus are considered stable
1334    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1335    pub fn as_str_name(&self) -> &'static str {
1336        match self {
1337            Self::Unknown => "EDITION_UNKNOWN",
1338            Self::Legacy => "EDITION_LEGACY",
1339            Self::Proto2 => "EDITION_PROTO2",
1340            Self::Proto3 => "EDITION_PROTO3",
1341            Self::Edition2023 => "EDITION_2023",
1342            Self::Edition2024 => "EDITION_2024",
1343            Self::Unstable => "EDITION_UNSTABLE",
1344            Self::Edition1TestOnly => "EDITION_1_TEST_ONLY",
1345            Self::Edition2TestOnly => "EDITION_2_TEST_ONLY",
1346            Self::Edition99997TestOnly => "EDITION_99997_TEST_ONLY",
1347            Self::Edition99998TestOnly => "EDITION_99998_TEST_ONLY",
1348            Self::Edition99999TestOnly => "EDITION_99999_TEST_ONLY",
1349            Self::Max => "EDITION_MAX",
1350        }
1351    }
1352    /// Creates an enum from field names used in the ProtoBuf definition.
1353    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1354        match value {
1355            "EDITION_UNKNOWN" => Some(Self::Unknown),
1356            "EDITION_LEGACY" => Some(Self::Legacy),
1357            "EDITION_PROTO2" => Some(Self::Proto2),
1358            "EDITION_PROTO3" => Some(Self::Proto3),
1359            "EDITION_2023" => Some(Self::Edition2023),
1360            "EDITION_2024" => Some(Self::Edition2024),
1361            "EDITION_UNSTABLE" => Some(Self::Unstable),
1362            "EDITION_1_TEST_ONLY" => Some(Self::Edition1TestOnly),
1363            "EDITION_2_TEST_ONLY" => Some(Self::Edition2TestOnly),
1364            "EDITION_99997_TEST_ONLY" => Some(Self::Edition99997TestOnly),
1365            "EDITION_99998_TEST_ONLY" => Some(Self::Edition99998TestOnly),
1366            "EDITION_99999_TEST_ONLY" => Some(Self::Edition99999TestOnly),
1367            "EDITION_MAX" => Some(Self::Max),
1368            _ => None,
1369        }
1370    }
1371}
1372#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
1373#[repr(i32)]
1374pub enum SymbolVisibility {
1375    VisibilityUnset = 0,
1376    VisibilityLocal = 1,
1377    VisibilityExport = 2,
1378}
1379impl SymbolVisibility {
1380    /// String value of the enum field names used in the ProtoBuf definition.
1381    ///
1382    /// The values are not transformed in any way and thus are considered stable
1383    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
1384    pub fn as_str_name(&self) -> &'static str {
1385        match self {
1386            Self::VisibilityUnset => "VISIBILITY_UNSET",
1387            Self::VisibilityLocal => "VISIBILITY_LOCAL",
1388            Self::VisibilityExport => "VISIBILITY_EXPORT",
1389        }
1390    }
1391    /// Creates an enum from field names used in the ProtoBuf definition.
1392    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
1393        match value {
1394            "VISIBILITY_UNSET" => Some(Self::VisibilityUnset),
1395            "VISIBILITY_LOCAL" => Some(Self::VisibilityLocal),
1396            "VISIBILITY_EXPORT" => Some(Self::VisibilityExport),
1397            _ => None,
1398        }
1399    }
1400}
1401#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1402pub struct Duration {
1403    #[prost(int64, tag = "1")]
1404    pub seconds: i64,
1405    #[prost(int32, tag = "2")]
1406    pub nanos: i32,
1407}
1408#[derive(Clone, PartialEq, ::prost::Message)]
1409pub struct FieldMask {
1410    #[prost(string, repeated, tag = "1")]
1411    pub paths: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
1412}
1413#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1414pub struct Timestamp {
1415    #[prost(int64, tag = "1")]
1416    pub seconds: i64,
1417    #[prost(int32, tag = "2")]
1418    pub nanos: i32,
1419}
1420#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1421pub struct Empty {}