import * as otel from '@opentelemetry/api'; import type { Next, WorkflowSignalInput, WorkflowSignalWithStartInput, WorkflowStartInput, WorkflowStartOutput, WorkflowStartUpdateInput, WorkflowStartUpdateOutput, WorkflowStartUpdateWithStartInput, WorkflowStartUpdateWithStartOutput, WorkflowQueryInput, WorkflowTerminateInput, WorkflowCancelInput, WorkflowDescribeInput, WorkflowClientInterceptor, TerminateWorkflowExecutionResponse, RequestCancelWorkflowExecutionResponse, DescribeWorkflowExecutionResponse } from '@temporalio/client'; export interface InterceptorOptions { readonly tracer?: otel.Tracer; } /** * Intercepts calls to start a Workflow. * * Wraps the operation in an opentelemetry Span and passes it to the Workflow via headers. */ export declare class OpenTelemetryWorkflowClientInterceptor implements WorkflowClientInterceptor { protected readonly tracer: otel.Tracer; constructor(options?: InterceptorOptions); start(input: WorkflowStartInput, next: Next): Promise; signal(input: WorkflowSignalInput, next: Next): Promise; startWithDetails(input: WorkflowStartInput, next: Next): Promise; startUpdate(input: WorkflowStartUpdateInput, next: Next): Promise; startUpdateWithStart(input: WorkflowStartUpdateWithStartInput, next: Next): Promise; signalWithStart(input: WorkflowSignalWithStartInput, next: Next): Promise; query(input: WorkflowQueryInput, next: Next): Promise; terminate(input: WorkflowTerminateInput, next: Next): Promise; cancel(input: WorkflowCancelInput, next: Next): Promise; describe(input: WorkflowDescribeInput, next: Next): Promise; }