import type { EmailLogOptions } from '../interfaces'; import { EmailLogRateLimiterService } from './email-log-rate-limiter.service'; import { EmailLogFormatterService } from './email-log-formatter.service'; /** * Email log alert service * Sends email notifications for critical log entries * * This service can be used directly to send email alerts * without requiring Pino transport integration * * Note: Manual email alerts don't include HTTP context. * For HTTP context, use Pino logger which automatically includes it via customProps. */ export declare class EmailLogAlertService { private readonly options; private readonly rateLimiter; private readonly formatter; private readonly logger; private readonly appName; private emailProvider; constructor(options: EmailLogOptions, rateLimiter: EmailLogRateLimiterService, formatter: EmailLogFormatterService); /** * Send a log alert via email * @param level Log level (error, fatal, etc.) * @param message Log message * @param error Optional error object * @param context Optional additional context */ sendAlert(level: string, message: string, error?: Error, context?: Record): Promise; /** * Send error alert */ error(message: string, error?: Error, context?: Record): Promise; /** * Send fatal alert */ fatal(message: string, error?: Error, context?: Record): Promise; /** * Format and send email */ private sendEmail; /** * Cleanup on module destroy */ onModuleDestroy(): Promise; }