import * as libCoverage from 'istanbul-lib-coverage'; import type { InjectedSinks, BundleOptions, WorkerOptions } from '@temporalio/worker'; import type { CoverageSinks } from './sinks'; type WebpackConfigType = ReturnType>; export declare class WorkflowCoverage { coverageMapsData: libCoverage.CoverageMapData[]; private hasCoverageGlobal; /** * Add all necessary coverage-specific logic to Worker config: * interceptors, sinks, and Webpack config hook. */ augmentWorkerOptions(workerOptions: WorkerOptions & { workflowsPath: NonNullable; }): WorkerOptions; /** * Add all necessary coverage-specific logic to bundle config: * interceptors and Webpack config hook. * The end user is still responsible for adding sinks to the worker options! */ augmentBundleOptions(bundleOptions: BundleOptions & { workflowsPath: NonNullable; }): BundleOptions; /** * Add sinks to Worker options. Use this method if you are passing a pre-built * bundle that was built with `augmentBundleOptions()`. */ augmentWorkerOptionsWithBundle(workerOptions: WorkerOptions & { workflowBundle: NonNullable; }): WorkerOptions; /** * Interceptor to inject into `WorkerOptions.interceptors.workflowModules` */ get interceptorModule(): string; /** * Contains sinks that allow Workflows to gather coverage data. */ get sinks(): InjectedSinks; /** * Modify the given Worker config to auto instrument Workflows */ addInstrumenterRule(config: WebpackConfigType): WebpackConfigType; /** * Merge this WorkflowCoverage's coverage map into the global coverage * map data `global.__coverage__`. */ mergeIntoGlobalCoverage(): void; } export {};