UNPKG

@454creative/easy-email

Version:

A framework-agnostic email service library for Node.js with observability and monitoring

43 lines 1.64 kB
import { Transporter } from 'nodemailer'; import { SESClient } from '@aws-sdk/client-ses'; import { EmailProviderConfig, SmtpConfig, SendGridConfig, SesConfig } from '../interfaces/email-options.interface'; import { EmailService } from '../services/email.service'; import { ObservabilityService } from '../services/observability.service'; import { ObservabilityConfig } from '../interfaces/observability.interface'; /** * Factory for creating email provider configurations */ export declare class ProviderFactory { /** * Create SMTP transporter */ static createSmtpTransporter(config: SmtpConfig): Transporter; /** * Configure SendGrid */ static configureSendGrid(config: SendGridConfig): void; /** * Create AWS SES client */ static createSesClient(config: SesConfig): SESClient; /** * Create provider configuration from legacy SMTP config */ static createProviderConfig(config: SmtpConfig | EmailProviderConfig): EmailProviderConfig; /** * Validate provider configuration */ static validateProviderConfig(config: EmailProviderConfig): void; /** * Create a new EmailService instance with proper dependency injection */ static createEmailService(providerConfig: EmailProviderConfig | SmtpConfig, defaultFrom?: { email: string; name?: string; }, observabilityService?: ObservabilityService): EmailService; /** * Create a new ObservabilityService instance */ static createObservabilityService(config?: ObservabilityConfig): ObservabilityService; } //# sourceMappingURL=provider-factory.d.ts.map