use conjure_http::endpoint;
#[conjure_http::conjure_endpoints(
    name = "WebhookTemplateService",
    use_legacy_error_serialization
)]
pub trait WebhookTemplateService {
    /// 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",
        produces = conjure_http::server::StdResponseSerializer
    )]
    fn validate_template(
        &self,
        #[auth]
        auth_: conjure_object::BearerToken,
        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
        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",
        produces = conjure_http::server::StdResponseSerializer
    )]
    fn test_webhook(
        &self,
        #[auth]
        auth_: conjure_object::BearerToken,
        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
        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_endpoints(
    name = "WebhookTemplateService",
    use_legacy_error_serialization
)]
pub trait AsyncWebhookTemplateService {
    /// 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",
        produces = conjure_http::server::StdResponseSerializer
    )]
    async fn validate_template(
        &self,
        #[auth]
        auth_: conjure_object::BearerToken,
        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
        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",
        produces = conjure_http::server::StdResponseSerializer
    )]
    async fn test_webhook(
        &self,
        #[auth]
        auth_: conjure_object::BearerToken,
        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
        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_endpoints(
    name = "WebhookTemplateService",
    use_legacy_error_serialization,
    local
)]
pub trait LocalAsyncWebhookTemplateService {
    /// 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",
        produces = conjure_http::server::StdResponseSerializer
    )]
    async fn validate_template(
        &self,
        #[auth]
        auth_: conjure_object::BearerToken,
        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
        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",
        produces = conjure_http::server::StdResponseSerializer
    )]
    async fn test_webhook(
        &self,
        #[auth]
        auth_: conjure_object::BearerToken,
        #[body(deserializer = conjure_http::server::StdRequestDeserializer)]
        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,
    >;
}
