import { FactoryProvider, ModuleMetadata, Provider, Type } from '@nestjs/common'; import { AxiosRequestConfig } from 'axios'; export type HttpModuleOptions = AxiosRequestConfig & { global?: boolean; }; export interface HttpModuleOptionsFactory { createHttpOptions(): Promise | HttpModuleOptions; } export interface HttpModuleAsyncOptions extends Pick { useExisting?: Type; useClass?: Type; useFactory?: (...args: any[]) => Promise | HttpModuleOptions; inject?: FactoryProvider['inject']; extraProviders?: Provider[]; global?: boolean; }