import { FactoryProvider, ModuleMetadata, Type } from '@nestjs/common'; import { NativeConnectionOptions } from '@temporalio/worker'; export interface SharedConnectionConfigurationFactory { createSharedConfiguration(): Promise | NativeConnectionOptions; } export interface SharedConnectionAsyncConfiguration extends Pick { useExisting?: Type; useClass?: Type; useFactory?: (...args: unknown[]) => Promise | NativeConnectionOptions; useValue?: NativeConnectionOptions; inject?: FactoryProvider['inject']; }