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