import { ClientOptions, CustomClientOptions } from '../../interfaces'; import { Type, Provider, ModuleMetadata } from '@nestjs/common/interfaces'; export type ClientProvider = ClientOptions | CustomClientOptions; export type ClientProviderOptions = ClientProvider & { name: string | symbol; }; export type ClientsModuleOptions = Array | { clients: Array; isGlobal?: boolean; }; export interface ClientsModuleOptionsFactory { createClientOptions(): Promise | ClientProvider; } export interface ClientsProviderAsyncOptions extends Pick { useExisting?: Type; useClass?: Type; useFactory?: (...args: any[]) => Promise | ClientProvider; inject?: any[]; extraProviders?: Provider[]; name: string | symbol; } export type ClientsModuleAsyncOptions = Array | { clients: Array; isGlobal?: boolean; };