import WebSocket from 'ws'; import { // Function to register a worker with the affinity service ProcessOutcome } from './WebSocketAPI'; import { ZeebeGrpcClient } from '@camunda8/sdk/dist/zeebe'; import { ZBClientOptions } from '@camunda8/sdk/dist/zeebe/lib/interfaces-published-contract'; import { JSONDoc } from '@camunda8/sdk/dist/zeebe/lib/interfaces-1.0'; export type DeepPartial = { [P in keyof T]?: T[P] extends object ? DeepPartial : T[P]; }; export declare function filterVariables(variables: { [key: string]: any; }): { [key: string]: string | number; }; interface ZBAffinityClientOptions extends ZBClientOptions { affinityServiceUrl: string; affinityTimeout: number; config?: DeepPartial<{ ZEEBE_ADDRESS: string; }>; } export declare class ZBAffinityClient extends ZeebeGrpcClient { affinityServiceUrl: string; affinityService: WebSocket; ws?: WebSocket; affinityCallbacks: { [processInstanceKey: string]: (processOutcome: ProcessOutcome) => void; }; affinityTimeout: number; pingTimeout: NodeJS.Timeout; constructor(options: ZBAffinityClientOptions); createAffinityWorker(taskType: string): Promise; createProcessInstanceWithAffinity({ bpmnProcessId, variables, cb, }: { bpmnProcessId: string; variables: Variables; version?: number; cb: (processOutcome: ProcessOutcome) => void; }): Promise; waitForAffinity(): Promise; private throwNoConnection; private createAffinityService; private heartbeat; private setUpConnection; private handleMessage; } export {};