import { ModuleMetadata, Type } from '@nestjs/common/interfaces'; import { MailDataRequired } from '@sendgrid/helpers/classes/mail'; export interface SendGridModuleOptions { apiKey: string; defaultMailData?: MailDataRequired; substitutionWrappers?: { left: string; right: string; }; } export interface SendGridOptionsFactory { createSendGridOptions(): Promise | SendGridModuleOptions; } export interface SendGridModuleAsyncOptions extends Pick { inject?: any[]; useClass?: Type; useExisting?: Type; useFactory?: (...args: any[]) => Promise | SendGridModuleOptions; }