import { ModuleMetadata, Type } from '@nestjs/common/interfaces'; import { Twilio } from 'twilio'; export interface TwilioModuleOptions { accountSid: string | undefined; authToken: string | undefined; options?: Twilio.TwilioClientOptions | undefined; } export interface TwilioOptionsFactory { createTwilioOptions(): Promise | TwilioModuleOptions; } export interface TwilioModuleAsyncOptions extends Pick { inject?: any[]; useClass?: Type; useExisting?: Type; useFactory?: (...args: any[]) => Promise | TwilioModuleOptions; }