import { SpanMeta, SpanTags } from './interfaces'; export default class Span { resource: string; name: string; service: string; traceId: number; start: number; duration: number; meta: SpanMeta; children: Span[]; tags: SpanTags; error: number; constructor(resource: string, name: string, service?: string); newChild(resource: string, name: string, service?: string): Span; setMeta(meta: SpanMeta): this; setTags(tags: SpanTags): this; setError(error: Error): this; end(endTime?: number): this; removeShortSpans(thresholdMs: number): this; setTraceId(traceId: number): this; readonly hasEnded: boolean; static NoOp: { end: () => typeof Span; setMeta: () => typeof Span; setTags: () => typeof Span; newChild: () => typeof Span; setError: (error?: Error) => typeof Span; removeShortSpans: () => typeof Span; setTraceId: () => typeof Span; readonly hasEnded: boolean; }; }