// @generated
// This file is @generated by prost-build.
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetUserDefinedFunctionRequest {
    #[prost(string, tag="1")]
    pub user_defined_function_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 GetUserDefinedFunctionResponse {
    #[prost(message, optional, tag="1")]
    pub user_defined_function: ::core::option::Option<super::super::common::r#type::v1::UserDefinedFunction>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetUserDefinedFunctionVersionRequest {
    #[prost(string, tag="1")]
    pub user_defined_function_version_id: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetUserDefinedFunctionVersionResponse {
    #[prost(message, optional, tag="1")]
    pub user_defined_function: ::core::option::Option<super::super::common::r#type::v1::UserDefinedFunction>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetUserDefinedFunctionDependentsRequest {
    #[prost(uint32, tag="1")]
    pub page_size: u32,
    #[prost(oneof="get_user_defined_function_dependents_request::UserDefinedFunction", tags="2, 3, 4")]
    pub user_defined_function: ::core::option::Option<get_user_defined_function_dependents_request::UserDefinedFunction>,
}
/// Nested message and enum types in `GetUserDefinedFunctionDependentsRequest`.
pub mod get_user_defined_function_dependents_request {
    #[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum UserDefinedFunction {
        #[prost(string, tag="2")]
        UserDefinedFunctionId(::prost::alloc::string::String),
        #[prost(string, tag="3")]
        UserDefinedFunctionName(::prost::alloc::string::String),
        #[prost(string, tag="4")]
        UserDefinedFunctionVersionId(::prost::alloc::string::String),
    }
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetUserDefinedFunctionDependentsResponse {
    #[prost(message, repeated, tag="1")]
    pub user_defined_functions: ::prost::alloc::vec::Vec<super::super::common::r#type::v1::UserDefinedFunction>,
    #[prost(string, tag="2")]
    pub next_page_token_user_defined_function: ::prost::alloc::string::String,
    #[prost(message, repeated, tag="3")]
    pub calculated_channels: ::prost::alloc::vec::Vec<super::super::calculated_channels::v2::CalculatedChannel>,
    #[prost(string, tag="4")]
    pub next_page_token_calculated_channel: ::prost::alloc::string::String,
    #[prost(message, repeated, tag="5")]
    pub rules: ::prost::alloc::vec::Vec<super::super::rules::v1::Rule>,
    #[prost(string, tag="6")]
    pub next_page_token_rule: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetUserDefinedFunctionVersionsRequest {
    #[prost(string, repeated, tag="1")]
    pub user_defined_function_version_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetUserDefinedFunctionVersionsResponse {
    #[prost(message, repeated, tag="1")]
    pub user_defined_functions: ::prost::alloc::vec::Vec<super::super::common::r#type::v1::UserDefinedFunction>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateUserDefinedFunctionRequest {
    #[prost(string, tag="1")]
    pub name: ::prost::alloc::string::String,
    #[prost(string, optional, tag="2")]
    pub description: ::core::option::Option<::prost::alloc::string::String>,
    #[prost(string, tag="3")]
    pub expression: ::prost::alloc::string::String,
    #[prost(message, repeated, tag="4")]
    pub function_inputs: ::prost::alloc::vec::Vec<super::super::common::r#type::v1::FunctionInput>,
    #[prost(string, optional, tag="5")]
    pub user_notes: ::core::option::Option<::prost::alloc::string::String>,
    #[prost(message, repeated, tag="6")]
    pub metadata: ::prost::alloc::vec::Vec<super::super::metadata::v1::MetadataValue>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreateUserDefinedFunctionResponse {
    #[prost(message, optional, tag="1")]
    pub user_defined_function: ::core::option::Option<super::super::common::r#type::v1::UserDefinedFunction>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ValidateUserDefinedFunctionRequest {
    #[prost(string, tag="1")]
    pub expression: ::prost::alloc::string::String,
    #[prost(message, repeated, tag="2")]
    pub function_inputs: ::prost::alloc::vec::Vec<super::super::common::r#type::v1::FunctionInput>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ValidateUserDefinedFunctionResponse {
    #[prost(oneof="validate_user_defined_function_response::Result", tags="1, 2")]
    pub result: ::core::option::Option<validate_user_defined_function_response::Result>,
}
/// Nested message and enum types in `ValidateUserDefinedFunctionResponse`.
pub mod validate_user_defined_function_response {
    #[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
    pub struct ErrorValidatingUserDefinedFunctionResult {
        #[prost(string, tag="1")]
        pub error_message: ::prost::alloc::string::String,
    }
    #[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
    pub struct SuccessValidatingUserDefinedFunctionResult {
        #[prost(message, optional, tag="1")]
        pub user_defined_function: ::core::option::Option<super::super::super::common::r#type::v1::UserDefinedFunction>,
    }
    #[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Result {
        #[prost(message, tag="1")]
        Error(ErrorValidatingUserDefinedFunctionResult),
        #[prost(message, tag="2")]
        Success(SuccessValidatingUserDefinedFunctionResult),
    }
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UpdateUserDefinedFunctionRequest {
    #[prost(message, optional, tag="1")]
    pub user_defined_function: ::core::option::Option<super::super::common::r#type::v1::UserDefinedFunction>,
    #[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 UpdateUserDefinedFunctionResponse {
    #[prost(message, optional, tag="1")]
    pub user_defined_function: ::core::option::Option<super::super::common::r#type::v1::UserDefinedFunction>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CheckUpdatableFieldsRequest {
    #[prost(string, tag="1")]
    pub user_defined_function_id: ::prost::alloc::string::String,
    #[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 CheckUpdatableFieldsResponse {
    #[prost(message, optional, tag="1")]
    pub allowed_fields: ::core::option::Option<::pbjson_types::FieldMask>,
    #[prost(map="string, string", tag="2")]
    pub disallowed_fields: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListUserDefinedFunctionsRequest {
    #[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 ListUserDefinedFunctionsResponse {
    #[prost(message, repeated, tag="1")]
    pub user_defined_functions: ::prost::alloc::vec::Vec<super::super::common::r#type::v1::UserDefinedFunction>,
    #[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 ListUserDefinedFunctionVersionsRequest {
    #[prost(string, tag="1")]
    pub user_defined_function_id: ::prost::alloc::string::String,
    #[prost(string, tag="2")]
    pub name: ::prost::alloc::string::String,
    #[prost(uint32, tag="3")]
    pub page_size: u32,
    #[prost(string, tag="4")]
    pub page_token: ::prost::alloc::string::String,
    #[prost(string, tag="5")]
    pub filter: ::prost::alloc::string::String,
    #[prost(string, tag="6")]
    pub order_by: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListUserDefinedFunctionVersionsResponse {
    #[prost(message, repeated, tag="1")]
    pub user_defined_functions: ::prost::alloc::vec::Vec<super::super::common::r#type::v1::UserDefinedFunction>,
    #[prost(string, tag="2")]
    pub next_page_token: ::prost::alloc::string::String,
}
include!("sift.user_defined_functions.v1.tonic.rs");
include!("sift.user_defined_functions.v1.serde.rs");
// @@protoc_insertion_point(module)