import type { PackageFileInstrumentationInstruction, PackageFunctionInstrumentationInstruction } from "./instrumentation/types"; import { RequireInterceptor } from "./RequireInterceptor"; export declare class VersionedPackage { private readonly range; private requireInterceptors; private requireFileInterceptors; private fileInstrumentationInstructions; constructor(range: string); getRange(): string; onRequire(interceptor: RequireInterceptor): this; onFileRequire(relativePath: string, interceptor: RequireInterceptor): this; /** * Register instrumentation instructions for one or multiple functions in one file. * The path is relative to the package root. */ addFileInstrumentation(instruction: PackageFileInstrumentationInstruction): this; /** * Register instrumentation instructions for one or multiple functions in multiple similar files. * The paths are relative to the package root. */ addMultiFileInstrumentation(paths: string[] | string, functions: PackageFunctionInstrumentationInstruction[]): this; getRequireInterceptors(): RequireInterceptor[]; getRequireFileInterceptor(relativePath: string): RequireInterceptor | undefined; getFileInstrumentationInstructions(): PackageFileInstrumentationInstruction[]; }