import { ModuleMetadata, Type } from '@nestjs/common'; import { Client } from 'discord.js'; import { DiscordModuleOption } from './discord-module-options'; import { DiscordOptionsFactory } from './discord-options-factory'; export type SetupClientFactory = (client: Client) => Promise | void; export interface DiscordModuleAsyncOptions extends Pick { useExisting?: Type; useClass?: Type; useFactory?: (...args: any[]) => Promise | DiscordModuleOption; setupClientFactory?: SetupClientFactory; inject?: any[]; }