import { Span, Tracer } from '@opentelemetry/api';
/**
 * helper function to wrap a class method with tracing
 * @param className - The class name
 * @param methodName - The method name
 * @param descriptor - The method descriptor
 * @param tracer - The tracer
 */
export declare function traceMethod(className: string, methodName: string, descriptor: PropertyDescriptor, tracer: Tracer): PropertyDescriptor;
export declare function traceFunction<T>({ name, tracer, fn, parent }: {
    name: string;
    tracer: Tracer;
    fn: (span: Span) => T | Promise<T>;
    parent?: Span;
}): Promise<T>;
/**
 * @deprecated Use `traceFunction` instead.
 */
export declare function executeTraced<T>(name: string, tracer: Tracer, fn: (span: Span) => Promise<T>, parent?: Span): Promise<T>;
export declare function addTracingToMethods(object: object, methods: string[], tracer: Tracer): void;
//# sourceMappingURL=methodTracing.d.ts.map