UNPKG

@wepublish/api

Version:
37 lines (36 loc) 1.36 kB
import Client from 'mailgun.js/client'; import { MailLogStatus, MailProviderTemplate, SendMailProps, WebhookForSendMailProps, WithExternalId } from './mail-provider.interface'; import { BaseMailProvider, MailProviderProps } from './base-mail-provider'; export interface MailgunMailProviderProps extends MailProviderProps { apiKey: string; baseDomain: string; mailDomain: string; webhookEndpointSecret: string; fromAddress: string; mailgunClient: Client; } interface VerifyWebhookSignatureProps { timestamp: string; token: string; signature: string; } interface MailgunApiError { status: number; details: string; type: string; } export declare class MailgunMailProvider extends BaseMailProvider { readonly auth: string; readonly baseDomain: string; readonly mailDomain: string; readonly webhookEndpointSecret: string; readonly mailgunClient: Client; constructor(props: MailgunMailProviderProps); verifyWebhookSignature(props: VerifyWebhookSignatureProps): boolean; webhookForSendMail({ req }: WebhookForSendMailProps): Promise<MailLogStatus[]>; sendMail(props: SendMailProps): Promise<void>; getTemplates(): Promise<MailProviderTemplate[]>; isMailgunApiError(error: unknown): error is MailgunApiError; getTemplateUrl(template: WithExternalId): string; } export {};