// @generated
// This file is @generated by prost-build.
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SavedSearch {
    #[prost(string, tag="1")]
    pub saved_search_id: ::prost::alloc::string::String,
    #[prost(string, tag="2")]
    pub organization_id: ::prost::alloc::string::String,
    #[prost(string, tag="3")]
    pub name: ::prost::alloc::string::String,
    #[prost(message, optional, tag="4")]
    pub properties: ::core::option::Option<SavedSearchProperties>,
    #[prost(string, tag="5")]
    pub created_by_user_id: ::prost::alloc::string::String,
    #[prost(string, tag="6")]
    pub modified_by_user_id: ::prost::alloc::string::String,
    #[prost(message, optional, tag="7")]
    pub created_date: ::core::option::Option<::pbjson_types::Timestamp>,
    #[prost(message, optional, tag="8")]
    pub modified_date: ::core::option::Option<::pbjson_types::Timestamp>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SavedSearchProperties {
    #[prost(string, tag="1")]
    pub overview_mode: ::prost::alloc::string::String,
    #[prost(string, optional, tag="2")]
    pub search_term: ::core::option::Option<::prost::alloc::string::String>,
    #[prost(message, optional, tag="3")]
    pub from_date_time: ::core::option::Option<::pbjson_types::Timestamp>,
    #[prost(message, optional, tag="4")]
    pub to_date_time: ::core::option::Option<::pbjson_types::Timestamp>,
    #[prost(message, repeated, tag="5")]
    pub asset_items: ::prost::alloc::vec::Vec<SavedSearchFilterItem>,
    #[prost(message, repeated, tag="6")]
    pub user_items: ::prost::alloc::vec::Vec<SavedSearchFilterItem>,
    #[prost(message, repeated, tag="7")]
    pub tag_items: ::prost::alloc::vec::Vec<SavedSearchFilterItem>,
    #[prost(message, repeated, tag="8")]
    pub annotation_items: ::prost::alloc::vec::Vec<SavedSearchFilterItem>,
    #[prost(message, repeated, tag="9")]
    pub run_items: ::prost::alloc::vec::Vec<SavedSearchFilterItem>,
    #[prost(message, repeated, tag="10")]
    pub report_template_items: ::prost::alloc::vec::Vec<SavedSearchFilterItem>,
    #[prost(bool, optional, tag="11")]
    pub show_advanced_filters: ::core::option::Option<bool>,
    #[prost(bool, optional, tag="12")]
    pub include_archived: ::core::option::Option<bool>,
    #[prost(string, optional, tag="13")]
    pub order_by: ::core::option::Option<::prost::alloc::string::String>,
    #[prost(message, repeated, tag="14")]
    pub metadata_items: ::prost::alloc::vec::Vec<SavedSearchMetadataItem>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SavedSearchFilterItem {
    #[prost(string, tag="1")]
    pub id: ::prost::alloc::string::String,
    #[prost(string, tag="2")]
    pub name: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SavedSearchMetadataItem {
    #[prost(string, tag="1")]
    pub key: ::prost::alloc::string::String,
    #[prost(oneof="saved_search_metadata_item::Value", tags="2, 3, 4")]
    pub value: ::core::option::Option<saved_search_metadata_item::Value>,
}
/// Nested message and enum types in `SavedSearchMetadataItem`.
pub mod saved_search_metadata_item {
    #[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Value {
        #[prost(string, tag="2")]
        StringValue(::prost::alloc::string::String),
        #[prost(double, tag="3")]
        NumberValue(f64),
        #[prost(bool, tag="4")]
        BooleanValue(bool),
    }
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSavedSearchRequest {
    #[prost(string, tag="1")]
    pub saved_search_id: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetSavedSearchResponse {
    #[prost(message, optional, tag="1")]
    pub saved_search: ::core::option::Option<SavedSearch>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListSavedSearchesRequest {
    #[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 organization_id: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListSavedSearchesResponse {
    #[prost(message, repeated, tag="1")]
    pub saved_searches: ::prost::alloc::vec::Vec<SavedSearch>,
    #[prost(string, tag="2")]
    pub next_page_token: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateSavedSearchRequest {
    #[prost(string, tag="1")]
    pub name: ::prost::alloc::string::String,
    #[prost(message, optional, tag="2")]
    pub properties: ::core::option::Option<SavedSearchProperties>,
    #[prost(string, tag="3")]
    pub organization_id: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateSavedSearchResponse {
    #[prost(message, optional, tag="1")]
    pub saved_search: ::core::option::Option<SavedSearch>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DeleteSavedSearchRequest {
    #[prost(string, tag="1")]
    pub saved_search_id: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DeleteSavedSearchResponse {
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BatchDeleteSavedSearchesRequest {
    #[prost(string, repeated, tag="1")]
    pub saved_search_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct BatchDeleteSavedSearchesResponse {
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateSavedSearchRequest {
    #[prost(message, optional, tag="1")]
    pub saved_search: ::core::option::Option<SavedSearch>,
    #[prost(message, optional, tag="2")]
    pub update_mask: ::core::option::Option<::pbjson_types::FieldMask>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateSavedSearchResponse {
    #[prost(message, optional, tag="1")]
    pub saved_search: ::core::option::Option<SavedSearch>,
}
include!("sift.saved_searches.v1.tonic.rs");
include!("sift.saved_searches.v1.serde.rs");
// @@protoc_insertion_point(module)