import * as DDTags from 'dd-trace/ext/tags'; type DDTag = typeof DDTags[keyof typeof DDTags]; type Tags = { [tag in DDTag]?: any; } & { [key: string]: any; }; interface Constructor { new (...args: any[]): any; } interface TraceConfig { className?: string; methodName?: string; serviceName?: string; spanName?: string; spanType?: string; /** Overrides className if specified */ resourceName?: string; isRoot?: boolean; /** Cause the span to show up in trace search and analytics */ makeSearchable?: boolean; tags?: Tags; } declare const traceFunction: (config: TraceConfig) => any, P extends Parameters, R extends ReturnType>(target: F) => F; /** * This decorator will cause the methods of a class, or an individual method, to be traced by the APM. * * @param config Optional configuration for the span that will be created for this trace. */ declare function trace(config?: TraceConfig): { (target: Constructor): void; (target: Record, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor): void; }; export { trace, traceFunction, DDTags as Tags, }; //# sourceMappingURL=trace-decorator.d.ts.map