export type MessageHandler = (message: T) => void | Promise; export type EventHandler = (...args: TArgs) => void | Promise; export type ProcessMethod = (...args: TArgs) => TReturn; export type AsyncProcessMethod = (...args: TArgs) => Promise; export type StreamingMethod = (...args: unknown[]) => AsyncGenerator; export type WorkerMessageType = 'ready' | 'error' | 'pong' | 'shutdown' | 'ping' | 'call' | 'result' | 'stream-chunk' | 'stream-end'; export interface WorkerMessageBase { type: WorkerMessageType | string; id?: string; } export interface WorkerCallMessage extends WorkerMessageBase { type: 'call'; method: string; args: unknown[]; } export interface WorkerResultMessage extends WorkerMessageBase { type: 'result'; result: unknown; } export interface WorkerErrorMessage extends WorkerMessageBase { type: 'error'; error: { message: string; stack?: string; code?: string; }; } export interface WorkerStreamChunkMessage extends WorkerMessageBase { type: 'stream-chunk'; chunk: unknown; } export interface WorkerReadyMessage extends WorkerMessageBase { type: 'ready'; processId: string; transportUrl?: string; serviceName?: string; serviceVersion?: string; } export type WorkerMessage = WorkerCallMessage | WorkerResultMessage | WorkerErrorMessage | WorkerStreamChunkMessage | WorkerReadyMessage | WorkerMessageBase; export interface MethodDescriptor { name: string; handler: ProcessMethod; isAsync?: boolean; isStreaming?: boolean; } export type ServiceMethodMap = Map; export interface ProcessContext = Record> { processId: string; serviceName: string; metadata?: TMeta; } export type WorkflowHandler = (input: TInput) => Promise; export declare function isAsyncGenerator(value: unknown): value is AsyncGenerator; export declare function isPromise(value: unknown): value is Promise; export declare function isWorkerCallMessage(message: WorkerMessage): message is WorkerCallMessage; export declare function isWorkerResultMessage(message: WorkerMessage): message is WorkerResultMessage; export declare function isWorkerErrorMessage(message: WorkerMessage): message is WorkerErrorMessage; export declare function isWorkerReadyMessage(message: WorkerMessage): message is WorkerReadyMessage; //# sourceMappingURL=common-types.d.ts.map