// @generated
// This file is @generated by prost-build.
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetDataRequest {
    #[prost(message, repeated, tag="1")]
    pub queries: ::prost::alloc::vec::Vec<Query>,
    #[prost(message, optional, tag="2")]
    pub start_time: ::core::option::Option<::pbjson_types::Timestamp>,
    #[prost(message, optional, tag="3")]
    pub end_time: ::core::option::Option<::pbjson_types::Timestamp>,
    #[prost(uint32, tag="4")]
    pub sample_ms: u32,
    #[prost(uint32, tag="5")]
    pub page_size: u32,
    #[prost(string, tag="6")]
    pub page_token: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Query {
    #[prost(oneof="query::Query", tags="1, 2")]
    pub query: ::core::option::Option<query::Query>,
}
/// Nested message and enum types in `Query`.
pub mod query {
    #[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Query {
        #[prost(message, tag="1")]
        Channel(super::ChannelQuery),
        #[prost(message, tag="2")]
        CalculatedChannel(super::CalculatedChannelQuery),
    }
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChannelQuery {
    #[prost(string, tag="1")]
    pub channel_id: ::prost::alloc::string::String,
    #[prost(string, optional, tag="2")]
    pub run_id: ::core::option::Option<::prost::alloc::string::String>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CalculatedChannelQuery {
    #[prost(string, tag="1")]
    pub channel_key: ::prost::alloc::string::String,
    #[prost(message, optional, tag="2")]
    pub expression: ::core::option::Option<super::super::calculated_channels::v1::ExpressionRequest>,
    #[prost(string, optional, tag="3")]
    pub run_id: ::core::option::Option<::prost::alloc::string::String>,
    #[prost(enumeration="super::super::calculated_channels::v1::ExpressionMode", optional, tag="4")]
    pub mode: ::core::option::Option<i32>,
    #[prost(bool, optional, tag="5")]
    pub combine_run_data: ::core::option::Option<bool>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetDataResponse {
    #[prost(string, tag="1")]
    pub next_page_token: ::prost::alloc::string::String,
    #[prost(message, repeated, tag="2")]
    pub data: ::prost::alloc::vec::Vec<::pbjson_types::Any>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Metadata {
    #[prost(enumeration="super::super::common::r#type::v1::ChannelDataType", tag="1")]
    pub data_type: i32,
    #[prost(uint32, tag="2")]
    pub sampled_ms: u32,
    #[prost(message, optional, tag="3")]
    pub asset: ::core::option::Option<metadata::Asset>,
    #[prost(message, optional, tag="4")]
    pub run: ::core::option::Option<metadata::Run>,
    #[prost(message, optional, tag="5")]
    pub channel: ::core::option::Option<metadata::Channel>,
}
/// Nested message and enum types in `Metadata`.
pub mod metadata {
    #[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
    pub struct Asset {
        #[prost(string, tag="1")]
        pub asset_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 Run {
        #[prost(string, tag="1")]
        pub run_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 Channel {
        #[prost(string, tag="1")]
        pub channel_id: ::prost::alloc::string::String,
        #[prost(string, tag="2")]
        pub name: ::prost::alloc::string::String,
        #[prost(message, optional, tag="3")]
        pub unit: ::core::option::Option<channel::Unit>,
        #[prost(message, repeated, tag="4")]
        pub enum_types: ::prost::alloc::vec::Vec<super::super::super::common::r#type::v1::ChannelEnumType>,
        #[prost(message, repeated, tag="5")]
        pub bit_field_elements: ::prost::alloc::vec::Vec<super::super::super::common::r#type::v1::ChannelBitFieldElement>,
    }
    /// Nested message and enum types in `Channel`.
    pub mod channel {
        #[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
        pub struct Unit {
            #[prost(string, tag="1")]
            pub name: ::prost::alloc::string::String,
            #[prost(string, tag="2")]
            pub abbreviated_name: ::prost::alloc::string::String,
        }
    }
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DoubleValue {
    #[prost(message, optional, tag="1")]
    pub timestamp: ::core::option::Option<::pbjson_types::Timestamp>,
    #[prost(double, tag="2")]
    pub value: f64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DoubleValues {
    #[prost(message, optional, tag="1")]
    pub metadata: ::core::option::Option<Metadata>,
    #[prost(message, repeated, tag="2")]
    pub values: ::prost::alloc::vec::Vec<DoubleValue>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StringValue {
    #[prost(message, optional, tag="1")]
    pub timestamp: ::core::option::Option<::pbjson_types::Timestamp>,
    #[prost(string, tag="2")]
    pub value: ::prost::alloc::string::String,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StringValues {
    #[prost(message, optional, tag="1")]
    pub metadata: ::core::option::Option<Metadata>,
    #[prost(message, repeated, tag="2")]
    pub values: ::prost::alloc::vec::Vec<StringValue>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EnumValue {
    #[prost(message, optional, tag="1")]
    pub timestamp: ::core::option::Option<::pbjson_types::Timestamp>,
    #[prost(uint32, tag="2")]
    pub value: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EnumValues {
    #[prost(message, optional, tag="1")]
    pub metadata: ::core::option::Option<Metadata>,
    #[prost(message, repeated, tag="2")]
    pub values: ::prost::alloc::vec::Vec<EnumValue>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct BitFieldValue {
    #[prost(message, optional, tag="1")]
    pub timestamp: ::core::option::Option<::pbjson_types::Timestamp>,
    #[prost(uint32, tag="2")]
    pub value: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BitFieldElementValues {
    #[prost(string, tag="1")]
    pub name: ::prost::alloc::string::String,
    #[prost(message, repeated, tag="2")]
    pub values: ::prost::alloc::vec::Vec<BitFieldValue>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BitFieldValues {
    #[prost(message, optional, tag="1")]
    pub metadata: ::core::option::Option<Metadata>,
    #[prost(message, repeated, tag="2")]
    pub values: ::prost::alloc::vec::Vec<BitFieldElementValues>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct BoolValue {
    #[prost(message, optional, tag="1")]
    pub timestamp: ::core::option::Option<::pbjson_types::Timestamp>,
    #[prost(bool, tag="2")]
    pub value: bool,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BoolValues {
    #[prost(message, optional, tag="1")]
    pub metadata: ::core::option::Option<Metadata>,
    #[prost(message, repeated, tag="2")]
    pub values: ::prost::alloc::vec::Vec<BoolValue>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FloatValue {
    #[prost(message, optional, tag="1")]
    pub timestamp: ::core::option::Option<::pbjson_types::Timestamp>,
    #[prost(float, tag="2")]
    pub value: f32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FloatValues {
    #[prost(message, optional, tag="1")]
    pub metadata: ::core::option::Option<Metadata>,
    #[prost(message, repeated, tag="2")]
    pub values: ::prost::alloc::vec::Vec<FloatValue>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Int32Value {
    #[prost(message, optional, tag="1")]
    pub timestamp: ::core::option::Option<::pbjson_types::Timestamp>,
    #[prost(int32, tag="2")]
    pub value: i32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Int32Values {
    #[prost(message, optional, tag="1")]
    pub metadata: ::core::option::Option<Metadata>,
    #[prost(message, repeated, tag="2")]
    pub values: ::prost::alloc::vec::Vec<Int32Value>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Uint32Value {
    #[prost(message, optional, tag="1")]
    pub timestamp: ::core::option::Option<::pbjson_types::Timestamp>,
    #[prost(uint32, tag="2")]
    pub value: u32,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Uint32Values {
    #[prost(message, optional, tag="1")]
    pub metadata: ::core::option::Option<Metadata>,
    #[prost(message, repeated, tag="2")]
    pub values: ::prost::alloc::vec::Vec<Uint32Value>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Int64Value {
    #[prost(message, optional, tag="1")]
    pub timestamp: ::core::option::Option<::pbjson_types::Timestamp>,
    #[prost(int64, tag="2")]
    pub value: i64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Int64Values {
    #[prost(message, optional, tag="1")]
    pub metadata: ::core::option::Option<Metadata>,
    #[prost(message, repeated, tag="2")]
    pub values: ::prost::alloc::vec::Vec<Int64Value>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Uint64Value {
    #[prost(message, optional, tag="1")]
    pub timestamp: ::core::option::Option<::pbjson_types::Timestamp>,
    #[prost(uint64, tag="2")]
    pub value: u64,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Uint64Values {
    #[prost(message, optional, tag="1")]
    pub metadata: ::core::option::Option<Metadata>,
    #[prost(message, repeated, tag="2")]
    pub values: ::prost::alloc::vec::Vec<Uint64Value>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BytesValue {
    #[prost(message, optional, tag="1")]
    pub timestamp: ::core::option::Option<::pbjson_types::Timestamp>,
    #[prost(bytes="vec", tag="2")]
    pub value: ::prost::alloc::vec::Vec<u8>,
}
#[allow(clippy::derive_partial_eq_without_eq)]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BytesValues {
    #[prost(message, optional, tag="1")]
    pub metadata: ::core::option::Option<Metadata>,
    #[prost(message, repeated, tag="2")]
    pub values: ::prost::alloc::vec::Vec<BytesValue>,
}
include!("sift.data.v2.tonic.rs");
include!("sift.data.v2.serde.rs");
// @@protoc_insertion_point(module)