import { ClientOptions } from '@elastic/elasticsearch'; import { ModuleMetadata, Type } from '@nestjs/common/interfaces'; export type ElasticsearchModuleOptions = ClientOptions; export interface ElasticsearchOptionsFactory { createElasticsearchOptions(): Promise | ElasticsearchModuleOptions; } export interface ElasticsearchModuleAsyncOptions extends Pick { useExisting?: Type; useClass?: Type; useFactory?: (...args: any[]) => Promise | ElasticsearchModuleOptions; inject?: any[]; }