import { DynamicModule } from '@nestjs/common'; import { EmailLogOptions } from './interfaces'; /** * Email log module for Pino transport * * Follows CacheModule pattern: * - forRoot() and forRootAsync() static methods * - Global module decorator * - Async factory with dependency injection * * @example * ```typescript * // In service-registry.module.ts * if (process.env.EMAIL_LOG_ENABLED) { * modules.push( * EmailLogModule.forRootAsync({ * inject: [ApiConfigService], * useFactory: (config: ApiConfigService) => ({ * enabled: true, * to: config.getString('EMAIL_LOG_TO').split(','), * from: config.getString('EMAIL_LOG_FROM'), * smtpHost: config.getString('EMAIL_LOG_SMTP_HOST'), * level: config.getString('EMAIL_LOG_LEVEL', 'error'), * }), * }), * ); * } * ``` */ export declare class EmailLogModule { /** * Register email log module with options */ static forRoot(options: EmailLogOptions): DynamicModule; /** * Register email log module asynchronously */ static forRootAsync(asyncOptions: { inject?: any[]; useFactory: ((...args: any[]) => Promise) | ((...args: any[]) => EmailLogOptions); isGlobal?: boolean; }): DynamicModule; /** * Create providers for the module */ private static createProviders; }