import type { Workflow, SignalDefinition, QueryDefinition } from '@temporalio/workflow'; import { WorkflowHandle } from '@temporalio/client'; import { TemporalClientService } from '../services/temporal-client.service'; import { WorkflowHandleWithMetadata, WorkflowStartOptions, WorkflowProxyConfig } from '../interfaces'; export interface IWorkflowProxy { start(args: Parameters, options?: WorkflowStartOptions): Promise>; getHandle(workflowId: string, runId?: string): Promise>; signal(workflowId: string, signalDef: SignalDefinition, ...args: TArgs): Promise; signalByName(workflowId: string, signalName: string, args?: readonly unknown[]): Promise; query(workflowId: string, queryDef: QueryDefinition, ...args: TArgs): Promise; queryByName(workflowId: string, queryName: string, args?: readonly unknown[]): Promise; signalWithStart(signalDef: SignalDefinition, signalArgs: TSignalArgs, workflowArgs: Parameters, options?: WorkflowStartOptions): Promise>; } export declare class WorkflowProxy implements IWorkflowProxy { private readonly clientService; private readonly config; constructor(clientService: TemporalClientService, config: WorkflowProxyConfig); start(args: Parameters, options?: WorkflowStartOptions): Promise>; getHandle(workflowId: string, runId?: string): Promise>; signal(workflowId: string, signalDef: SignalDefinition, ...args: TArgs): Promise; signalByName(workflowId: string, signalName: string, args?: readonly unknown[]): Promise; query(workflowId: string, queryDef: QueryDefinition, ...args: TArgs): Promise; queryByName(workflowId: string, queryName: string, args?: readonly unknown[]): Promise; signalWithStart(signalDef: SignalDefinition, signalArgs: TSignalArgs, workflowArgs: Parameters, options?: WorkflowStartOptions): Promise>; private mergeOptions; }