import { InstrumentationBase } from '@opentelemetry/instrumentation';
export declare function TelemetryClass(): (classObj: any) => void;
export declare function TelemetryMethod(config: {
    paramsCount: number;
}): (classPrototype: any, methodFunc: string) => void;
export declare function TelemetryMethodDisable(): (classPrototype: any, methodFunc: string) => void;
export declare function instrumentAndWrap(spanName: any, req: any, res: any, func: any): Promise<any>;
export declare class ClassInstrumentation extends InstrumentationBase {
    private classPrototype;
    private path;
    private className;
    constructor(classPrototype: unknown, path: string);
    protected init(): void;
    enable(): void;
}
export declare function instrumentFunction<K>(func: any, telemetryParamCount?: number, telemetryParamOffset?: number): (...args: any[]) => Promise<any>;
export declare function addTelemetry(serviceName: string, mainDir: string): Promise<import("@opentelemetry/api").Tracer | undefined>;
//# sourceMappingURL=telemetry.d.ts.map