import { OnModuleInit } from '@nestjs/common'; import { ConfigService } from '@nestjs/config'; import { SendEmailDto, SendTemplateEmailDto } from '../dto'; export type EmailProvider = 'sendgrid' | 'ses' | 'smtp'; export interface EmailResult { success: boolean; messageId?: string; provider: EmailProvider; error?: string; } export declare class EmailService implements OnModuleInit { private configService; private readonly logger; private provider; private isConfigured; private sendgridApiKey; private sesRegion; private sesAccessKeyId; private sesSecretAccessKey; private smtpHost; private smtpPort; private smtpUser; private smtpPassword; private smtpSecure; private fromEmail; private fromName; private replyTo; constructor(configService: ConfigService); onModuleInit(): void; private checkConfiguration; sendEmail(dto: SendEmailDto): Promise; sendTemplateEmail(dto: SendTemplateEmailDto): Promise; sendBulkEmails(emails: SendEmailDto[]): Promise; private sendViaSendGrid; private sendViaSES; private sendViaSMTP; private getTemplate; private renderTemplate; private logEmail; isEnabled(): boolean; getProvider(): EmailProvider; }