import { createClient, RedisClientOptions } from 'redis'; import { ProcessOutcome } from './WebSocketAPI'; import { ZeebeGrpcClient } from '@camunda8/sdk/dist/zeebe'; import { JSONDoc } from '@camunda8/sdk/dist/zeebe/lib/interfaces-1.0'; import { DeepPartial } from './ZeebeAffinityClient'; type JSONExtended = { [key: string]: JSONDoc; }; type RedisClientConnection = ReturnType; export declare class RedisAffinity extends ZeebeGrpcClient { subscriber: RedisClientConnection; publisher: RedisClientConnection; affinityCallbacks: { [processInstanceKey: string]: (processOutcome: ProcessOutcome) => void; }; private useLegacyMode; constructor(options: { config?: DeepPartial<{ ZEEBE_ADDRESS: string; }>; }, redisOptions: RedisClientOptions & { legacyMode?: boolean; }); private initializeRedisClients; private handleMessage; createAffinityWorker(taskType: string): Promise; createProcessInstanceWithAffinity({ bpmnProcessId, variables, cb, }: { bpmnProcessId: string; variables: Variables; cb: (processOutcome: ProcessOutcome) => void; }): Promise; publishMessageWithAffinity({ correlationKey, messageId, name, variables, processInstanceKey, cb, }: { correlationKey: string; messageId: string; name: string; variables: Variables; processInstanceKey: string; cb: (processOutcome: ProcessOutcome) => void; }): Promise; private subscribeToChannel; cleanup(channel: string): void; } export {};