// This file is @generated by prost-build.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WriteRequest {
    #[prost(message, repeated, tag = "1")]
    pub timeseries: ::prost::alloc::vec::Vec<TimeSeries>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TimeSeries {
    #[prost(message, repeated, tag = "1")]
    pub labels: ::prost::alloc::vec::Vec<Label>,
    #[prost(message, repeated, tag = "2")]
    pub samples: ::prost::alloc::vec::Vec<Sample>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Label {
    #[prost(string, tag = "1")]
    pub name: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub value: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Sample {
    #[prost(double, tag = "1")]
    pub value: f64,
    #[prost(int64, tag = "2")]
    pub timestamp: i64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WriteRequestNominal {
    #[prost(message, repeated, tag = "1")]
    pub series: ::prost::alloc::vec::Vec<Series>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Series {
    #[prost(message, optional, tag = "1")]
    pub channel: ::core::option::Option<Channel>,
    #[prost(map = "string, string", tag = "2")]
    pub tags: ::std::collections::HashMap<
        ::prost::alloc::string::String,
        ::prost::alloc::string::String,
    >,
    #[prost(message, optional, tag = "3")]
    pub points: ::core::option::Option<Points>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Channel {
    #[prost(string, tag = "1")]
    pub name: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Points {
    #[prost(oneof = "points::PointsType", tags = "1, 2, 3, 4, 5")]
    pub points_type: ::core::option::Option<points::PointsType>,
}
/// Nested message and enum types in `Points`.
pub mod points {
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum PointsType {
        #[prost(message, tag = "1")]
        DoublePoints(super::DoublePoints),
        #[prost(message, tag = "2")]
        StringPoints(super::StringPoints),
        #[prost(message, tag = "3")]
        IntegerPoints(super::IntegerPoints),
        #[prost(message, tag = "4")]
        ArrayPoints(super::ArrayPoints),
        #[prost(message, tag = "5")]
        StructPoints(super::StructPoints),
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DoublePoints {
    #[prost(message, repeated, tag = "1")]
    pub points: ::prost::alloc::vec::Vec<DoublePoint>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StringPoints {
    #[prost(message, repeated, tag = "1")]
    pub points: ::prost::alloc::vec::Vec<StringPoint>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct IntegerPoints {
    #[prost(message, repeated, tag = "1")]
    pub points: ::prost::alloc::vec::Vec<IntegerPoint>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StructPoints {
    #[prost(message, repeated, tag = "1")]
    pub points: ::prost::alloc::vec::Vec<StructPoint>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DoublePoint {
    #[prost(message, optional, tag = "1")]
    pub timestamp: ::core::option::Option<
        super::super::super::super::super::google::protobuf::Timestamp,
    >,
    #[prost(double, tag = "2")]
    pub value: f64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StringPoint {
    #[prost(message, optional, tag = "1")]
    pub timestamp: ::core::option::Option<
        super::super::super::super::super::google::protobuf::Timestamp,
    >,
    #[prost(string, tag = "2")]
    pub value: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct IntegerPoint {
    #[prost(message, optional, tag = "1")]
    pub timestamp: ::core::option::Option<
        super::super::super::super::super::google::protobuf::Timestamp,
    >,
    #[prost(int64, tag = "2")]
    pub value: i64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StructPoint {
    #[prost(message, optional, tag = "1")]
    pub timestamp: ::core::option::Option<
        super::super::super::super::super::google::protobuf::Timestamp,
    >,
    #[prost(string, tag = "2")]
    pub json_string: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ArrayPoints {
    #[prost(oneof = "array_points::ArrayType", tags = "1, 2")]
    pub array_type: ::core::option::Option<array_points::ArrayType>,
}
/// Nested message and enum types in `ArrayPoints`.
pub mod array_points {
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum ArrayType {
        #[prost(message, tag = "1")]
        DoubleArrayPoints(super::DoubleArrayPoints),
        #[prost(message, tag = "2")]
        StringArrayPoints(super::StringArrayPoints),
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DoubleArrayPoints {
    #[prost(message, repeated, tag = "1")]
    pub points: ::prost::alloc::vec::Vec<DoubleArrayPoint>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StringArrayPoints {
    #[prost(message, repeated, tag = "1")]
    pub points: ::prost::alloc::vec::Vec<StringArrayPoint>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DoubleArrayPoint {
    #[prost(message, optional, tag = "1")]
    pub timestamp: ::core::option::Option<
        super::super::super::super::super::google::protobuf::Timestamp,
    >,
    #[prost(double, repeated, tag = "2")]
    pub value: ::prost::alloc::vec::Vec<f64>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StringArrayPoint {
    #[prost(message, optional, tag = "1")]
    pub timestamp: ::core::option::Option<
        super::super::super::super::super::google::protobuf::Timestamp,
    >,
    #[prost(string, repeated, tag = "2")]
    pub value: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
