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