import { InstrumentationBase, InstrumentationModuleDefinition } from '@opentelemetry/instrumentation'; import { InstrumentationConfig } from '@opentelemetry/instrumentation'; export interface AttributeDefinition { attrIndex: number; attrPath?: string; key: string; } export interface MethodInstrumentation { methodName: string; spanName?: string; attributes?: AttributeDefinition[]; } export interface InstrumentationFileDefinition extends MethodInstrumentation { name: string; } export interface InstrumentationDefinition { moduleName?: string; absolutePath?: string; supportedVersions?: string[]; mainModuleMethods?: MethodInstrumentation[]; files?: InstrumentationFileDefinition[]; } export interface NoCodeInstrumentationConfig extends InstrumentationConfig { definitions?: InstrumentationDefinition[]; } export declare class NoCodeInstrumentation extends InstrumentationBase { constructor(config?: NoCodeInstrumentationConfig); protected init(): InstrumentationModuleDefinition[]; private _wrappedFunction; private parseConfig; private generatePatchFunction; private generateUnpatchFunction; } //# sourceMappingURL=nocode.d.ts.map