type TraceId = string; type SpanId = string; type SerializedNanoseconds = string; export declare class Reporter { spans: CompletedSpan[]; emit(span: CompletedSpan): void; } export declare class Span { private reporter; private traceId; private parentId; private spanId; private beginTimeUnixNs; private name; private properties; private events; private constructor(); static noop(): Span; static root(reporter: Reporter, name: string): Span; setProperty(key: string, value: string): void; childSpan(name: string): Span; enter(name: string, f: (span: Span) => T): T; enterAsync(name: string, f: (span: Span) => Promise): Promise; end(): void; encodeW3CTraceparent(): string; } type CompletedSpan = { traceId: TraceId; parentId: SpanId; spanId: SpanId; beginTimeUnixNs: SerializedNanoseconds; durationNs: SerializedNanoseconds; name: string; properties: Record; events: SerializedEventRecord[]; }; type SerializedEventRecord = { name: string; timestampUnixNs: SerializedNanoseconds; properties: Record; }; export {}; //# sourceMappingURL=tracing.d.ts.map