import { FactoryProvider, ModuleMetadata, Type } from '@nestjs/common'; import { WorkflowClientOptions } from '@temporalio/client'; export interface SharedWorkflowClientOptionsFactory { createSharedConfiguration(): Promise | WorkflowClientOptions; } export interface SharedWorkflowClientOptions extends Pick { name?: string; useExisting?: Type; useClass?: Type; useFactory?: (...args: unknown[]) => Promise | WorkflowClientOptions; useValue?: WorkflowClientOptions; inject?: FactoryProvider['inject']; }