// @generated
// This file is @generated by prost-build.
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TagTarget {
    #[prost(enumeration="TagSourceType", optional, tag="1")]
    pub allowed_tag_source: ::core::option::Option<i32>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TagSource {
    #[prost(enumeration="TagTargetType", optional, tag="1")]
    pub allowed_tag_target: ::core::option::Option<i32>,
    #[prost(string, optional, tag="2")]
    pub tag_name: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum TagSourceType {
    DescendantSources = 0,
    SiblingSources = 1,
    DescendantAndSiblingSources = 2,
}
impl TagSourceType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            TagSourceType::DescendantSources => "DESCENDANT_SOURCES",
            TagSourceType::SiblingSources => "SIBLING_SOURCES",
            TagSourceType::DescendantAndSiblingSources => "DESCENDANT_AND_SIBLING_SOURCES",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "DESCENDANT_SOURCES" => Some(Self::DescendantSources),
            "SIBLING_SOURCES" => Some(Self::SiblingSources),
            "DESCENDANT_AND_SIBLING_SOURCES" => Some(Self::DescendantAndSiblingSources),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum TagTargetType {
    AncestorTargets = 0,
    SiblingTargets = 1,
    AncestorAndSiblingTargets = 2,
}
impl TagTargetType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            TagTargetType::AncestorTargets => "ANCESTOR_TARGETS",
            TagTargetType::SiblingTargets => "SIBLING_TARGETS",
            TagTargetType::AncestorAndSiblingTargets => "ANCESTOR_AND_SIBLING_TARGETS",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ANCESTOR_TARGETS" => Some(Self::AncestorTargets),
            "SIBLING_TARGETS" => Some(Self::SiblingTargets),
            "ANCESTOR_AND_SIBLING_TARGETS" => Some(Self::AncestorAndSiblingTargets),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum MapKeyOverrideType {
    MapKeyOverrideUnspecified = 0,
    MapKeyOverrideTarget = 1,
    MapKeyOverrideSource = 2,
    MapKeyOverrideRemoveKey = 3,
    MapKeyOverrideEnum = 4,
}
impl MapKeyOverrideType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            MapKeyOverrideType::MapKeyOverrideUnspecified => "MAP_KEY_OVERRIDE_UNSPECIFIED",
            MapKeyOverrideType::MapKeyOverrideTarget => "MAP_KEY_OVERRIDE_TARGET",
            MapKeyOverrideType::MapKeyOverrideSource => "MAP_KEY_OVERRIDE_SOURCE",
            MapKeyOverrideType::MapKeyOverrideRemoveKey => "MAP_KEY_OVERRIDE_REMOVE_KEY",
            MapKeyOverrideType::MapKeyOverrideEnum => "MAP_KEY_OVERRIDE_ENUM",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "MAP_KEY_OVERRIDE_UNSPECIFIED" => Some(Self::MapKeyOverrideUnspecified),
            "MAP_KEY_OVERRIDE_TARGET" => Some(Self::MapKeyOverrideTarget),
            "MAP_KEY_OVERRIDE_SOURCE" => Some(Self::MapKeyOverrideSource),
            "MAP_KEY_OVERRIDE_REMOVE_KEY" => Some(Self::MapKeyOverrideRemoveKey),
            "MAP_KEY_OVERRIDE_ENUM" => Some(Self::MapKeyOverrideEnum),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ArrayIndexOverrideType {
    ArrayIndexOverrideUnspecified = 0,
    ArrayIndexOverrideTarget = 1,
    ArrayIndexOverrideSource = 2,
    ArrayIndexOverrideRemoveIndex = 3,
    ArrayIndexOverrideEnum = 4,
}
impl ArrayIndexOverrideType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            ArrayIndexOverrideType::ArrayIndexOverrideUnspecified => "ARRAY_INDEX_OVERRIDE_UNSPECIFIED",
            ArrayIndexOverrideType::ArrayIndexOverrideTarget => "ARRAY_INDEX_OVERRIDE_TARGET",
            ArrayIndexOverrideType::ArrayIndexOverrideSource => "ARRAY_INDEX_OVERRIDE_SOURCE",
            ArrayIndexOverrideType::ArrayIndexOverrideRemoveIndex => "ARRAY_INDEX_OVERRIDE_REMOVE_INDEX",
            ArrayIndexOverrideType::ArrayIndexOverrideEnum => "ARRAY_INDEX_OVERRIDE_ENUM",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "ARRAY_INDEX_OVERRIDE_UNSPECIFIED" => Some(Self::ArrayIndexOverrideUnspecified),
            "ARRAY_INDEX_OVERRIDE_TARGET" => Some(Self::ArrayIndexOverrideTarget),
            "ARRAY_INDEX_OVERRIDE_SOURCE" => Some(Self::ArrayIndexOverrideSource),
            "ARRAY_INDEX_OVERRIDE_REMOVE_INDEX" => Some(Self::ArrayIndexOverrideRemoveIndex),
            "ARRAY_INDEX_OVERRIDE_ENUM" => Some(Self::ArrayIndexOverrideEnum),
            _ => None,
        }
    }
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum BytesDecodingType {
    Unspecified = 0,
    Utf8 = 1,
}
impl BytesDecodingType {
    /// String value of the enum field names used in the ProtoBuf definition.
    ///
    /// The values are not transformed in any way and thus are considered stable
    /// (if the ProtoBuf definition does not change) and safe for programmatic use.
    pub fn as_str_name(&self) -> &'static str {
        match self {
            BytesDecodingType::Unspecified => "BYTES_DECODING_TYPE_UNSPECIFIED",
            BytesDecodingType::Utf8 => "BYTES_DECODING_TYPE_UTF8",
        }
    }
    /// Creates an enum from field names used in the ProtoBuf definition.
    pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
        match value {
            "BYTES_DECODING_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
            "BYTES_DECODING_TYPE_UTF8" => Some(Self::Utf8),
            _ => None,
        }
    }
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeleteProtobufDescriptorsRequest {
    #[deprecated]
    #[prost(string, tag="1")]
    pub message_type_full_name: ::prost::alloc::string::String,
    #[deprecated]
    #[prost(string, tag="2")]
    pub namespace: ::prost::alloc::string::String,
    #[prost(string, tag="3")]
    pub organization_id: ::prost::alloc::string::String,
    #[prost(string, tag="4")]
    pub protobuf_descriptor_id: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DeleteProtobufDescriptorsResponse {
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AddProtobufDescriptorRequest {
    #[prost(message, optional, tag="1")]
    pub protobuf_descriptor: ::core::option::Option<ProtobufDescriptor>,
    #[prost(bool, tag="2")]
    pub force_duplicate_registration: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AddProtobufDescriptorResponse {
    #[prost(message, optional, tag="1")]
    pub protobuf_descriptor: ::core::option::Option<ProtobufDescriptor>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CheckProtobufDescriptorCompatibilityRequest {
    #[prost(message, optional, tag="1")]
    pub protobuf_descriptor: ::core::option::Option<ProtobufDescriptor>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct IncompatibleProtobufField {
    #[prost(string, tag="1")]
    pub protobuf_descriptor_id: ::prost::alloc::string::String,
    #[prost(string, tag="2")]
    pub message_full_name: ::prost::alloc::string::String,
    #[prost(string, tag="3")]
    pub desired_field_name: ::prost::alloc::string::String,
    #[prost(string, tag="4")]
    pub current_field_name: ::prost::alloc::string::String,
    #[prost(string, tag="5")]
    pub field_number: ::prost::alloc::string::String,
    #[prost(string, tag="6")]
    pub reason: ::prost::alloc::string::String,
    #[prost(string, tag="7")]
    pub details: ::prost::alloc::string::String,
    #[prost(string, tag="8")]
    pub field_kind: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CheckProtobufDescriptorCompatibilityResponse {
    #[prost(bool, tag="1")]
    pub is_valid: bool,
    #[prost(message, repeated, tag="2")]
    pub incompatible_protobuf_descriptor_fields: ::prost::alloc::vec::Vec<IncompatibleProtobufField>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ProtobufDescriptor {
    #[prost(string, tag="1")]
    pub message_type_full_name: ::prost::alloc::string::String,
    #[prost(bytes="vec", tag="2")]
    pub file_descriptor_set: ::prost::alloc::vec::Vec<u8>,
    #[prost(string, tag="3")]
    pub proto_file_name: ::prost::alloc::string::String,
    #[prost(string, tag="4")]
    pub namespace: ::prost::alloc::string::String,
    #[prost(string, tag="5")]
    pub protobuf_descriptor_id: ::prost::alloc::string::String,
    #[prost(message, optional, tag="6")]
    pub created_date: ::core::option::Option<::pbjson_types::Timestamp>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListProtobufDescriptorsRequest {
    #[prost(uint32, tag="1")]
    pub page_size: u32,
    #[prost(string, tag="2")]
    pub page_token: ::prost::alloc::string::String,
    #[prost(string, tag="3")]
    pub filter: ::prost::alloc::string::String,
    #[prost(string, tag="4")]
    pub order_by: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListProtobufDescriptorsResponse {
    #[prost(message, repeated, tag="1")]
    pub protobuf_descriptors: ::prost::alloc::vec::Vec<ProtobufDescriptor>,
    #[prost(string, tag="2")]
    pub next_page_token: ::prost::alloc::string::String,
}
include!("sift.protobuf_descriptors.v2.tonic.rs");
include!("sift.protobuf_descriptors.v2.serde.rs");
// @@protoc_insertion_point(module)