import { AsyncLocalStorage } from 'node:async_hooks'; import { ChannelOptions, Client, TsProtoServiceDefinition } from 'nice-grpc'; import { MetricsService } from '@diia-inhouse/diia-metrics'; import { QueueContext } from '@diia-inhouse/diia-queue'; import { Logger } from '@diia-inhouse/types'; import { BaseConfig } from '../interfaces/config.js'; export declare class GrpcClientFactory { private readonly config; private readonly systemServiceName; private readonly logger; private readonly metrics; private readonly asyncLocalStorage?; private readonly defaultDeadlineMs; constructor(config: BaseConfig, systemServiceName: string, logger: Logger, metrics: MetricsService, asyncLocalStorage?: AsyncLocalStorage | undefined); createGrpcClient(definition: Service, serviceAddress: string, channelOptions?: ChannelOptions): Client; private metadataMiddleware; private loggingMiddleware; private errorHandlerMiddleware; }