import type { Transport, LogEntry, LogLevel } from '../types/index.js'; export interface EmailTransportConfig { provider: 'smtp' | 'ses'; from: string; to: string | string[]; cc?: string | string[]; bcc?: string | string[]; levels?: LogLevel[]; rateLimit?: { maxEmails: number; periodMinutes: number; }; batch?: { enabled: boolean; maxBatchSize: number; flushInterval: number; }; templates?: { subject?: (entry: LogEntry) => string; html?: (entries: LogEntry[]) => string; text?: (entries: LogEntry[]) => string; }; smtp?: { host: string; port: number; secure?: boolean; auth?: { user: string; pass: string; }; tls?: { rejectUnauthorized?: boolean; }; }; ses?: { region: string; accessKeyId?: string; secretAccessKey?: string; sessionToken?: string; }; enabled?: boolean; debug?: boolean; } export declare class EmailTransport implements Transport { readonly name = "email"; private config; private transporter; private sesClient; private rateLimit; private batchQueue; private batchTimer; private enabled; constructor(config: EmailTransportConfig); private initializeSMTP; private initializeSES; log(entry: LogEntry): Promise; private addToBatch; private flushBatch; private sendEmail; private sendSMTP; private sendSES; private checkRateLimit; private defaultSubjectTemplate; private defaultHtmlTemplate; private defaultTextTemplate; private escapeHtml; flush(): Promise; close(): void; } //# sourceMappingURL=email.d.ts.map