import { MessageSerializer, Serializer } from '../serialization'; import { HandlerRegistry } from '../handler'; import { LoggerFactory } from '../logger'; import { ContainerAdapter } from '../container'; import { RetryStrategy } from '../retry-strategy'; /** * A core set of dependencies that are shared around the service. * This is used to provide dependencies to internal and external * implementations (eg: transports, persistences) without having * them to provide what they need. */ export interface CoreDependencies { handlerRegistry: HandlerRegistry; serializer: Serializer; messageSerializer: MessageSerializer; loggerFactory: LoggerFactory; container: ContainerAdapter | undefined; retryStrategy: RetryStrategy; interruptSignals: NodeJS.Signals[]; }