use conjure_http::endpoint;
#[conjure_http::conjure_client(name = "WebhookTemplateService")]
pub trait WebhookTemplateService<
    #[response_body]
    I: Iterator<
            Item = Result<conjure_http::private::Bytes, conjure_http::private::Error>,
        >,
> {
    /// Validates a Handlebars webhook template and returns the evaluated payload.
    /// Checks for template syntax errors and validates that the result is valid JSON.
    #[endpoint(
        method = POST,
        path = "/scout/v1/webhook-templates/validate",
        name = "validateTemplate",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    fn validate_template(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        request: &super::super::super::super::super::objects::scout::webhook::template::api::ValidateTemplateRequest,
    ) -> Result<
        super::super::super::super::super::objects::scout::webhook::template::api::ValidationResult,
        conjure_http::private::Error,
    >;
    /// Sends a test webhook using the specified integration and template.
    /// This allows users to verify their webhook configuration before using it in procedures.
    #[endpoint(
        method = POST,
        path = "/scout/v1/webhook-templates/test",
        name = "testWebhook",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    fn test_webhook(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        request: &super::super::super::super::super::objects::scout::webhook::template::api::TestWebhookRequest,
    ) -> Result<
        super::super::super::super::super::objects::scout::webhook::template::api::TestWebhookResponse,
        conjure_http::private::Error,
    >;
}
#[conjure_http::conjure_client(name = "WebhookTemplateService")]
pub trait AsyncWebhookTemplateService<
    #[response_body]
    I: conjure_http::private::Stream<
            Item = Result<conjure_http::private::Bytes, conjure_http::private::Error>,
        >,
> {
    /// Validates a Handlebars webhook template and returns the evaluated payload.
    /// Checks for template syntax errors and validates that the result is valid JSON.
    #[endpoint(
        method = POST,
        path = "/scout/v1/webhook-templates/validate",
        name = "validateTemplate",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    async fn validate_template(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        request: &super::super::super::super::super::objects::scout::webhook::template::api::ValidateTemplateRequest,
    ) -> Result<
        super::super::super::super::super::objects::scout::webhook::template::api::ValidationResult,
        conjure_http::private::Error,
    >;
    /// Sends a test webhook using the specified integration and template.
    /// This allows users to verify their webhook configuration before using it in procedures.
    #[endpoint(
        method = POST,
        path = "/scout/v1/webhook-templates/test",
        name = "testWebhook",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    async fn test_webhook(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        request: &super::super::super::super::super::objects::scout::webhook::template::api::TestWebhookRequest,
    ) -> Result<
        super::super::super::super::super::objects::scout::webhook::template::api::TestWebhookResponse,
        conjure_http::private::Error,
    >;
}
#[conjure_http::conjure_client(name = "WebhookTemplateService", local)]
pub trait LocalAsyncWebhookTemplateService<
    #[response_body]
    I: conjure_http::private::Stream<
            Item = Result<conjure_http::private::Bytes, conjure_http::private::Error>,
        >,
> {
    /// Validates a Handlebars webhook template and returns the evaluated payload.
    /// Checks for template syntax errors and validates that the result is valid JSON.
    #[endpoint(
        method = POST,
        path = "/scout/v1/webhook-templates/validate",
        name = "validateTemplate",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    async fn validate_template(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        request: &super::super::super::super::super::objects::scout::webhook::template::api::ValidateTemplateRequest,
    ) -> Result<
        super::super::super::super::super::objects::scout::webhook::template::api::ValidationResult,
        conjure_http::private::Error,
    >;
    /// Sends a test webhook using the specified integration and template.
    /// This allows users to verify their webhook configuration before using it in procedures.
    #[endpoint(
        method = POST,
        path = "/scout/v1/webhook-templates/test",
        name = "testWebhook",
        accept = conjure_http::client::StdResponseDeserializer
    )]
    async fn test_webhook(
        &self,
        #[auth]
        auth_: &conjure_object::BearerToken,
        #[body(serializer = conjure_http::client::StdRequestSerializer)]
        request: &super::super::super::super::super::objects::scout::webhook::template::api::TestWebhookRequest,
    ) -> Result<
        super::super::super::super::super::objects::scout::webhook::template::api::TestWebhookResponse,
        conjure_http::private::Error,
    >;
}
