use conjure_http::endpoint;
/// Endpoints for retrieving and updating channel metadata.
#[conjure_http::conjure_endpoints(
    name = "ChannelMetadataService",
    use_legacy_error_serialization
)]
pub trait ChannelMetadataService {
    /// Get the metadata for a channel.
    #[endpoint(
        method = POST,
        path = "/timeseries/channel-metadata/v1/channel-metadata/get",
        name = "getChannelMetadata",
        produces = conjure_http::server::StdResponseSerializer
    )]
    fn get_channel_metadata(
        &self,
        #[auth]
        auth_: conjure_object::BearerToken,
        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
        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",
        produces = conjure_http::server::StdResponseSerializer
    )]
    fn batch_get_channel_metadata(
        &self,
        #[auth]
        auth_: conjure_object::BearerToken,
        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
        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",
        produces = conjure_http::server::StdResponseSerializer
    )]
    fn update_channel_metadata(
        &self,
        #[auth]
        auth_: conjure_object::BearerToken,
        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
        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",
        produces = conjure_http::server::StdResponseSerializer
    )]
    fn batch_update_channel_metadata(
        &self,
        #[auth]
        auth_: conjure_object::BearerToken,
        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
        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_endpoints(
    name = "ChannelMetadataService",
    use_legacy_error_serialization
)]
pub trait AsyncChannelMetadataService {
    /// Get the metadata for a channel.
    #[endpoint(
        method = POST,
        path = "/timeseries/channel-metadata/v1/channel-metadata/get",
        name = "getChannelMetadata",
        produces = conjure_http::server::StdResponseSerializer
    )]
    async fn get_channel_metadata(
        &self,
        #[auth]
        auth_: conjure_object::BearerToken,
        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
        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",
        produces = conjure_http::server::StdResponseSerializer
    )]
    async fn batch_get_channel_metadata(
        &self,
        #[auth]
        auth_: conjure_object::BearerToken,
        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
        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",
        produces = conjure_http::server::StdResponseSerializer
    )]
    async fn update_channel_metadata(
        &self,
        #[auth]
        auth_: conjure_object::BearerToken,
        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
        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",
        produces = conjure_http::server::StdResponseSerializer
    )]
    async fn batch_update_channel_metadata(
        &self,
        #[auth]
        auth_: conjure_object::BearerToken,
        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
        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_endpoints(
    name = "ChannelMetadataService",
    use_legacy_error_serialization,
    local
)]
pub trait LocalAsyncChannelMetadataService {
    /// Get the metadata for a channel.
    #[endpoint(
        method = POST,
        path = "/timeseries/channel-metadata/v1/channel-metadata/get",
        name = "getChannelMetadata",
        produces = conjure_http::server::StdResponseSerializer
    )]
    async fn get_channel_metadata(
        &self,
        #[auth]
        auth_: conjure_object::BearerToken,
        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
        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",
        produces = conjure_http::server::StdResponseSerializer
    )]
    async fn batch_get_channel_metadata(
        &self,
        #[auth]
        auth_: conjure_object::BearerToken,
        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
        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",
        produces = conjure_http::server::StdResponseSerializer
    )]
    async fn update_channel_metadata(
        &self,
        #[auth]
        auth_: conjure_object::BearerToken,
        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
        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",
        produces = conjure_http::server::StdResponseSerializer
    )]
    async fn batch_update_channel_metadata(
        &self,
        #[auth]
        auth_: conjure_object::BearerToken,
        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
        request: super::super::super::super::objects::timeseries::channelmetadata::api::BatchUpdateChannelMetadataRequest,
    ) -> Result<
        super::super::super::super::objects::timeseries::channelmetadata::api::BatchUpdateChannelMetadataResponse,
        conjure_http::private::Error,
    >;
}
