use conjure_http::endpoint;
/// Tag search over a Dataset, which can expand to multiple locator contexts.
#[conjure_http::conjure_client(name = "TagSearchService")]
pub trait TagSearchService<
    #[response_body]
    I: Iterator<
            Item = Result<conjure_http::private::Bytes, conjure_http::private::Error>,
        >,
> {
    #[endpoint(
        method = POST,
        path = "/tag-search/v1/full-tags-for-channel",
        name = "getFullTagsForChannel",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    fn get_full_tags_for_channel(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        request: &super::super::super::super::super::objects::scout::tag::api::GetFullTagsForChannelRequest,
    ) -> Result<
        super::super::super::super::super::objects::scout::tag::api::GetFullTagsForChannelResponse,
        conjure_http::private::Error,
    >;
    /// Paged endpoint returning the set of all tag keys available for the scope given an initial set of filters.
    #[endpoint(
        method = POST,
        path = "/tag-search/v1/available-tag-keys",
        name = "getAvailableTagKeys",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    fn get_available_tag_keys(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        request: &super::super::super::super::super::objects::scout::tag::api::GetAvailableTagKeysRequest,
    ) -> Result<
        super::super::super::super::super::objects::scout::tag::api::GetAvailableTagKeysResponse,
        conjure_http::private::Error,
    >;
    /// Batch variant of getAvailableTagKeys keyed by client provided request id.
    #[endpoint(
        method = POST,
        path = "/tag-search/v1/batch-available-tag-keys",
        name = "batchGetAvailableTagKeys",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    fn batch_get_available_tag_keys(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        request: &super::super::super::super::super::objects::scout::tag::api::BatchGetAvailableTagKeysRequest,
    ) -> Result<
        super::super::super::super::super::objects::scout::tag::api::BatchGetAvailableTagKeysResponse,
        conjure_http::private::Error,
    >;
    /// Paged endpoint returning the set of all tag values available for the specified tag and scope given an
    /// initial set of filters.
    #[endpoint(
        method = POST,
        path = "/tag-search/v1/available-tag-values",
        name = "getAvailableTagValues",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    fn get_available_tag_values(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        request: &super::super::super::super::super::objects::scout::tag::api::GetAvailableTagValuesRequest,
    ) -> Result<
        super::super::super::super::super::objects::scout::tag::api::GetAvailableTagValuesResponse,
        conjure_http::private::Error,
    >;
    /// Batch variant of getAvailableTagValues keyed by client provided request id.
    #[endpoint(
        method = POST,
        path = "/tag-search/v1/batch-available-tag-values",
        name = "batchGetAvailableTagValues",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    fn batch_get_available_tag_values(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        request: &super::super::super::super::super::objects::scout::tag::api::BatchGetAvailableTagValuesRequest,
    ) -> Result<
        super::super::super::super::super::objects::scout::tag::api::BatchGetAvailableTagValuesResponse,
        conjure_http::private::Error,
    >;
}
/// Tag search over a Dataset, which can expand to multiple locator contexts.
#[conjure_http::conjure_client(name = "TagSearchService")]
pub trait AsyncTagSearchService<
    #[response_body]
    I: conjure_http::private::Stream<
            Item = Result<conjure_http::private::Bytes, conjure_http::private::Error>,
        >,
> {
    #[endpoint(
        method = POST,
        path = "/tag-search/v1/full-tags-for-channel",
        name = "getFullTagsForChannel",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    async fn get_full_tags_for_channel(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        request: &super::super::super::super::super::objects::scout::tag::api::GetFullTagsForChannelRequest,
    ) -> Result<
        super::super::super::super::super::objects::scout::tag::api::GetFullTagsForChannelResponse,
        conjure_http::private::Error,
    >;
    /// Paged endpoint returning the set of all tag keys available for the scope given an initial set of filters.
    #[endpoint(
        method = POST,
        path = "/tag-search/v1/available-tag-keys",
        name = "getAvailableTagKeys",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    async fn get_available_tag_keys(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        request: &super::super::super::super::super::objects::scout::tag::api::GetAvailableTagKeysRequest,
    ) -> Result<
        super::super::super::super::super::objects::scout::tag::api::GetAvailableTagKeysResponse,
        conjure_http::private::Error,
    >;
    /// Batch variant of getAvailableTagKeys keyed by client provided request id.
    #[endpoint(
        method = POST,
        path = "/tag-search/v1/batch-available-tag-keys",
        name = "batchGetAvailableTagKeys",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    async fn batch_get_available_tag_keys(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        request: &super::super::super::super::super::objects::scout::tag::api::BatchGetAvailableTagKeysRequest,
    ) -> Result<
        super::super::super::super::super::objects::scout::tag::api::BatchGetAvailableTagKeysResponse,
        conjure_http::private::Error,
    >;
    /// Paged endpoint returning the set of all tag values available for the specified tag and scope given an
    /// initial set of filters.
    #[endpoint(
        method = POST,
        path = "/tag-search/v1/available-tag-values",
        name = "getAvailableTagValues",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    async fn get_available_tag_values(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        request: &super::super::super::super::super::objects::scout::tag::api::GetAvailableTagValuesRequest,
    ) -> Result<
        super::super::super::super::super::objects::scout::tag::api::GetAvailableTagValuesResponse,
        conjure_http::private::Error,
    >;
    /// Batch variant of getAvailableTagValues keyed by client provided request id.
    #[endpoint(
        method = POST,
        path = "/tag-search/v1/batch-available-tag-values",
        name = "batchGetAvailableTagValues",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    async fn batch_get_available_tag_values(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        request: &super::super::super::super::super::objects::scout::tag::api::BatchGetAvailableTagValuesRequest,
    ) -> Result<
        super::super::super::super::super::objects::scout::tag::api::BatchGetAvailableTagValuesResponse,
        conjure_http::private::Error,
    >;
}
/// Tag search over a Dataset, which can expand to multiple locator contexts.
#[conjure_http::conjure_client(name = "TagSearchService", local)]
pub trait LocalAsyncTagSearchService<
    #[response_body]
    I: conjure_http::private::Stream<
            Item = Result<conjure_http::private::Bytes, conjure_http::private::Error>,
        >,
> {
    #[endpoint(
        method = POST,
        path = "/tag-search/v1/full-tags-for-channel",
        name = "getFullTagsForChannel",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    async fn get_full_tags_for_channel(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        request: &super::super::super::super::super::objects::scout::tag::api::GetFullTagsForChannelRequest,
    ) -> Result<
        super::super::super::super::super::objects::scout::tag::api::GetFullTagsForChannelResponse,
        conjure_http::private::Error,
    >;
    /// Paged endpoint returning the set of all tag keys available for the scope given an initial set of filters.
    #[endpoint(
        method = POST,
        path = "/tag-search/v1/available-tag-keys",
        name = "getAvailableTagKeys",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    async fn get_available_tag_keys(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        request: &super::super::super::super::super::objects::scout::tag::api::GetAvailableTagKeysRequest,
    ) -> Result<
        super::super::super::super::super::objects::scout::tag::api::GetAvailableTagKeysResponse,
        conjure_http::private::Error,
    >;
    /// Batch variant of getAvailableTagKeys keyed by client provided request id.
    #[endpoint(
        method = POST,
        path = "/tag-search/v1/batch-available-tag-keys",
        name = "batchGetAvailableTagKeys",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    async fn batch_get_available_tag_keys(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        request: &super::super::super::super::super::objects::scout::tag::api::BatchGetAvailableTagKeysRequest,
    ) -> Result<
        super::super::super::super::super::objects::scout::tag::api::BatchGetAvailableTagKeysResponse,
        conjure_http::private::Error,
    >;
    /// Paged endpoint returning the set of all tag values available for the specified tag and scope given an
    /// initial set of filters.
    #[endpoint(
        method = POST,
        path = "/tag-search/v1/available-tag-values",
        name = "getAvailableTagValues",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    async fn get_available_tag_values(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        request: &super::super::super::super::super::objects::scout::tag::api::GetAvailableTagValuesRequest,
    ) -> Result<
        super::super::super::super::super::objects::scout::tag::api::GetAvailableTagValuesResponse,
        conjure_http::private::Error,
    >;
    /// Batch variant of getAvailableTagValues keyed by client provided request id.
    #[endpoint(
        method = POST,
        path = "/tag-search/v1/batch-available-tag-values",
        name = "batchGetAvailableTagValues",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    async fn batch_get_available_tag_values(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        request: &super::super::super::super::super::objects::scout::tag::api::BatchGetAvailableTagValuesRequest,
    ) -> Result<
        super::super::super::super::super::objects::scout::tag::api::BatchGetAvailableTagValuesResponse,
        conjure_http::private::Error,
    >;
}
