import { resendTriggerDefinitions as triggerDefinitions } from "@automate.ax/catalog/triggers/resend" import { createTrigger } from "../../../automation/create-trigger" import type { IntegrationAccountReference } from "../../../automation/integrations" /** Options for subscribing to Resend email events. */ export interface OnResendEmailEventOptions { /** Resend account binding to watch. */ account?: string | IntegrationAccountReference<"resend"> } /** * Subscribes to Resend send, delivery, engagement, failure, and inbound events. * * @param options - Resend account selection. * @throws When the account selection is dynamic. */ export const onResendEmailEvent = createTrigger( triggerDefinitions.resendEmailEvent, ) /** * Subscribes to emails accepted for sending by Resend. * * @param options - Resend account selection. */ export const onResendEmailSent = createTrigger( triggerDefinitions.resendEmailSent, ) /** * Subscribes to emails delivered to recipient mail servers. * * @param options - Resend account selection. */ export const onResendEmailDelivered = createTrigger( triggerDefinitions.resendEmailDelivered, ) /** * Subscribes to permanent recipient-server rejections. * * @param options - Resend account selection. */ export const onResendEmailBounced = createTrigger( triggerDefinitions.resendEmailBounced, ) /** * Subscribes to emails that Resend failed to send. * * @param options - Resend account selection. */ export const onResendEmailFailed = createTrigger( triggerDefinitions.resendEmailFailed, ) /** * Subscribes to recipient email opens. * * @param options - Resend account selection. */ export const onResendEmailOpened = createTrigger( triggerDefinitions.resendEmailOpened, ) /** * Subscribes to recipient email link clicks. * * @param options - Resend account selection. */ export const onResendEmailClicked = createTrigger( triggerDefinitions.resendEmailClicked, ) /** * Subscribes to recipient spam complaints. * * @param options - Resend account selection. */ export const onResendEmailComplained = createTrigger( triggerDefinitions.resendEmailComplained, ) /** * Subscribes to inbound emails received by Resend. * * @param options - Resend account selection. */ export const onResendEmailReceived = createTrigger( triggerDefinitions.resendEmailReceived, ) /** * Subscribes to temporarily delayed email deliveries. * * @param options - Resend account selection. */ export const onResendEmailDeliveryDelayed = createTrigger( triggerDefinitions.resendEmailDeliveryDelayed, ) /** * Subscribes to emails scheduled for future sending. * * @param options - Resend account selection. */ export const onResendEmailScheduled = createTrigger( triggerDefinitions.resendEmailScheduled, ) /** * Subscribes to emails suppressed before sending. * * @param options - Resend account selection. */ export const onResendEmailSuppressed = createTrigger( triggerDefinitions.resendEmailSuppressed, )