import events from 'node:events'; import type * as activity from '@temporalio/activity'; import type { ActivityFunction, Logger, MetricMeter } from '@temporalio/common'; import { ActivityCancellationDetails } from '@temporalio/common'; import type { Client } from '@temporalio/client'; import type { ActivityInterceptorsFactory } from '@temporalio/worker'; import type { CancelReason } from '@temporalio/worker/lib/activity'; export interface MockActivityEnvironmentOptions { interceptors?: ActivityInterceptorsFactory[]; logger?: Logger; metricMeter?: MetricMeter; client?: Client; } /** * An execution environment for testing Activities. * * Mocks Activity {@link Context | activity.Context} and exposes hooks for cancellation and heartbeats. * * Note that the `Context` object used by this environment will be reused for all activities that are run in this * environment. Consequently, once `cancel()` is called, any further activity that gets executed in this environment * will immediately be in a cancelled state. */ export declare class MockActivityEnvironment extends events.EventEmitter { cancel: (reason?: CancelReason, details?: ActivityCancellationDetails) => void; readonly context: activity.Context; private readonly activity; constructor(info?: Partial, opts?: MockActivityEnvironmentOptions); /** * Run a function in Activity Context */ run

>(fn: F, ...args: P): Promise; } /** * Used as the default activity info for Activities executed in the {@link MockActivityEnvironment} * * @hidden */ export declare const defaultActivityInfo: activity.Info;