use conjure_http::endpoint;
/// Endpoints for retrieving and updating channel metadata.
#[conjure_http::conjure_client(name = "ChannelMetadataService")]
pub trait ChannelMetadataService<
    #[response_body]
    I: Iterator<
            Item = Result<conjure_http::private::Bytes, conjure_http::private::Error>,
        >,
> {
    /// Get the metadata for a channel.
    #[endpoint(
        method = POST,
        path = "/timeseries/channel-metadata/v1/channel-metadata/get",
        name = "getChannelMetadata",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    fn get_channel_metadata(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        request: &super::super::super::super::objects::timeseries::channelmetadata::api::GetChannelMetadataRequest,
    ) -> Result<
        super::super::super::super::objects::timeseries::channelmetadata::api::ChannelMetadata,
        conjure_http::private::Error,
    >;
    /// Batch get the metadata for multiple channels. If some channels cannot be found or authorized,
    /// they will be omitted from the response.
    #[endpoint(
        method = POST,
        path = "/timeseries/channel-metadata/v1/channel-metadata/batch-get",
        name = "batchGetChannelMetadata",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    fn batch_get_channel_metadata(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        request: &super::super::super::super::objects::timeseries::channelmetadata::api::BatchGetChannelMetadataRequest,
    ) -> Result<
        super::super::super::super::objects::timeseries::channelmetadata::api::BatchGetChannelMetadataResponse,
        conjure_http::private::Error,
    >;
    /// Update the metadata for a channel.
    #[endpoint(
        method = POST,
        path = "/timeseries/channel-metadata/v1/channel-metadata/update",
        name = "updateChannelMetadata",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    fn update_channel_metadata(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        request: &super::super::super::super::objects::timeseries::channelmetadata::api::UpdateChannelMetadataRequest,
    ) -> Result<
        super::super::super::super::objects::timeseries::channelmetadata::api::ChannelMetadata,
        conjure_http::private::Error,
    >;
    /// Batch update the metadata for multiple channels. If some channels cannot be found or authorized,
    /// no metadata will be updated for any of the channels in the request.
    #[endpoint(
        method = POST,
        path = "/timeseries/channel-metadata/v1/channel-metadata/batch-update",
        name = "batchUpdateChannelMetadata",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    fn batch_update_channel_metadata(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        request: &super::super::super::super::objects::timeseries::channelmetadata::api::BatchUpdateChannelMetadataRequest,
    ) -> Result<
        super::super::super::super::objects::timeseries::channelmetadata::api::BatchUpdateChannelMetadataResponse,
        conjure_http::private::Error,
    >;
}
/// Endpoints for retrieving and updating channel metadata.
#[conjure_http::conjure_client(name = "ChannelMetadataService")]
pub trait AsyncChannelMetadataService<
    #[response_body]
    I: conjure_http::private::Stream<
            Item = Result<conjure_http::private::Bytes, conjure_http::private::Error>,
        >,
> {
    /// Get the metadata for a channel.
    #[endpoint(
        method = POST,
        path = "/timeseries/channel-metadata/v1/channel-metadata/get",
        name = "getChannelMetadata",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    async fn get_channel_metadata(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        request: &super::super::super::super::objects::timeseries::channelmetadata::api::GetChannelMetadataRequest,
    ) -> Result<
        super::super::super::super::objects::timeseries::channelmetadata::api::ChannelMetadata,
        conjure_http::private::Error,
    >;
    /// Batch get the metadata for multiple channels. If some channels cannot be found or authorized,
    /// they will be omitted from the response.
    #[endpoint(
        method = POST,
        path = "/timeseries/channel-metadata/v1/channel-metadata/batch-get",
        name = "batchGetChannelMetadata",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    async fn batch_get_channel_metadata(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        request: &super::super::super::super::objects::timeseries::channelmetadata::api::BatchGetChannelMetadataRequest,
    ) -> Result<
        super::super::super::super::objects::timeseries::channelmetadata::api::BatchGetChannelMetadataResponse,
        conjure_http::private::Error,
    >;
    /// Update the metadata for a channel.
    #[endpoint(
        method = POST,
        path = "/timeseries/channel-metadata/v1/channel-metadata/update",
        name = "updateChannelMetadata",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    async fn update_channel_metadata(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        request: &super::super::super::super::objects::timeseries::channelmetadata::api::UpdateChannelMetadataRequest,
    ) -> Result<
        super::super::super::super::objects::timeseries::channelmetadata::api::ChannelMetadata,
        conjure_http::private::Error,
    >;
    /// Batch update the metadata for multiple channels. If some channels cannot be found or authorized,
    /// no metadata will be updated for any of the channels in the request.
    #[endpoint(
        method = POST,
        path = "/timeseries/channel-metadata/v1/channel-metadata/batch-update",
        name = "batchUpdateChannelMetadata",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    async fn batch_update_channel_metadata(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        request: &super::super::super::super::objects::timeseries::channelmetadata::api::BatchUpdateChannelMetadataRequest,
    ) -> Result<
        super::super::super::super::objects::timeseries::channelmetadata::api::BatchUpdateChannelMetadataResponse,
        conjure_http::private::Error,
    >;
}
/// Endpoints for retrieving and updating channel metadata.
#[conjure_http::conjure_client(name = "ChannelMetadataService", local)]
pub trait LocalAsyncChannelMetadataService<
    #[response_body]
    I: conjure_http::private::Stream<
            Item = Result<conjure_http::private::Bytes, conjure_http::private::Error>,
        >,
> {
    /// Get the metadata for a channel.
    #[endpoint(
        method = POST,
        path = "/timeseries/channel-metadata/v1/channel-metadata/get",
        name = "getChannelMetadata",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    async fn get_channel_metadata(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        request: &super::super::super::super::objects::timeseries::channelmetadata::api::GetChannelMetadataRequest,
    ) -> Result<
        super::super::super::super::objects::timeseries::channelmetadata::api::ChannelMetadata,
        conjure_http::private::Error,
    >;
    /// Batch get the metadata for multiple channels. If some channels cannot be found or authorized,
    /// they will be omitted from the response.
    #[endpoint(
        method = POST,
        path = "/timeseries/channel-metadata/v1/channel-metadata/batch-get",
        name = "batchGetChannelMetadata",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    async fn batch_get_channel_metadata(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        request: &super::super::super::super::objects::timeseries::channelmetadata::api::BatchGetChannelMetadataRequest,
    ) -> Result<
        super::super::super::super::objects::timeseries::channelmetadata::api::BatchGetChannelMetadataResponse,
        conjure_http::private::Error,
    >;
    /// Update the metadata for a channel.
    #[endpoint(
        method = POST,
        path = "/timeseries/channel-metadata/v1/channel-metadata/update",
        name = "updateChannelMetadata",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    async fn update_channel_metadata(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        request: &super::super::super::super::objects::timeseries::channelmetadata::api::UpdateChannelMetadataRequest,
    ) -> Result<
        super::super::super::super::objects::timeseries::channelmetadata::api::ChannelMetadata,
        conjure_http::private::Error,
    >;
    /// Batch update the metadata for multiple channels. If some channels cannot be found or authorized,
    /// no metadata will be updated for any of the channels in the request.
    #[endpoint(
        method = POST,
        path = "/timeseries/channel-metadata/v1/channel-metadata/batch-update",
        name = "batchUpdateChannelMetadata",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    async fn batch_update_channel_metadata(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        request: &super::super::super::super::objects::timeseries::channelmetadata::api::BatchUpdateChannelMetadataRequest,
    ) -> Result<
        super::super::super::super::objects::timeseries::channelmetadata::api::BatchUpdateChannelMetadataResponse,
        conjure_http::private::Error,
    >;
}
