nestjs-mailable
Version:
A comprehensive NestJS mail package with design patterns for email handling, templating, and multi-provider support
24 lines (23 loc) • 991 B
TypeScript
import { DynamicModule, ModuleMetadata, Provider, Type } from '@nestjs/common';
import { MailConfiguration } from './interfaces/mail.interface';
export interface MailModuleOptions extends MailConfiguration {
providers?: Provider[];
exports?: any[];
}
export interface MailModuleAsyncOptions extends Pick<ModuleMetadata, 'imports'> {
useFactory?: (...args: any[]) => MailConfiguration | Promise<MailConfiguration>;
inject?: any[];
useClass?: Type<MailModuleOptionsFactory>;
useExisting?: Type<MailModuleOptionsFactory>;
providers?: Provider[];
exports?: any[];
}
export interface MailModuleOptionsFactory {
createMailOptions(): MailConfiguration | Promise<MailConfiguration>;
}
export declare const MAIL_MODULE_OPTIONS = "MAIL_MODULE_OPTIONS";
export declare class MailModule {
static forRoot(config: MailModuleOptions): DynamicModule;
static forRootAsync(options: MailModuleAsyncOptions): DynamicModule;
private static createAsyncProviders;
}