@454creative/easy-email
Version:
A framework-agnostic email service library for Node.js with observability and monitoring
105 lines (95 loc) • 2 kB
text/typescript
/**
* Type definitions for the easy-email library
*/
// Core email types
export type {
EmailOptions,
EmailResponse,
EmailRecipient,
EmailAttachment,
SmtpConfig,
SendGridConfig,
SesConfig,
EmailProviderConfig,
EmailProviderType,
} from '../interfaces/email-options.interface';
// Request/Response types
export type {
EmailRequest,
EmailRequestAttachment,
EmailRequestResponse,
EmailValidationResult,
} from '../interfaces/email-request.interface';
// Observability types
export type {
ObservabilityConfig,
EmailMetrics,
EmailEvent,
AuditLog,
} from '../interfaces/observability.interface';
// SES-specific types
export type {
SesErrorType,
SesMetrics,
SesQuotaData,
SesStatisticsData,
SesEmailEvent,
SesConnectionEvent,
SesQuotaEvent,
SesStatisticsEvent,
SesErrorEvent,
} from './ses.types';
// SendGrid-specific types
export type {
SendGridErrorType,
SendGridMetrics,
SendGridQuotaData,
SendGridStatisticsData,
SendGridEmailEvent,
SendGridConnectionEvent,
SendGridQuotaEvent,
SendGridStatisticsEvent,
SendGridErrorEvent,
SendGridApiResponse,
SendGridEmailContent,
SendGridPersonalization,
SendGridMailSettings,
SendGridTrackingSettings,
} from './sendgrid.types';
// Error types
export {
EmailServiceError,
ConfigurationError,
ProviderError,
ValidationError,
TemplateError,
RetryError,
TimeoutError,
RateLimitError,
AuthenticationError,
NetworkError,
InvalidEmailError,
MissingRequiredFieldError,
InvalidTemplateError,
TemplateNotFoundError,
ConnectionError,
QuotaExceededError,
SpamDetectionError,
} from '../errors';
// Constants
export {
EMAIL_CONSTANTS,
OBSERVABILITY_CONSTANTS,
} from '../config/constants';
// SES-specific constants
export {
SES_ERROR_TYPES,
SES_ERROR_CODES,
SES_DEFAULT_CONFIG,
} from './ses.types';
// SendGrid-specific constants
export {
SENDGRID_ERROR_TYPES,
SENDGRID_ERROR_CODES,
SENDGRID_DEFAULT_CONFIG,
} from './sendgrid.types';