import Context from '../context/context'; import Span from '../span/span'; import Segment from '../context/segment'; import ContextCarrier from './contextCarrier'; import { SpanType, Component } from '../constants'; export default class SpanContext implements Context { nSpans: number; segment: Segment; get parent(): Span | null; get parentId(): string; get spanId(): string; ignoreCheck(operation: string, type: SpanType): Span | undefined; newEntrySpan(operation: string, carrier?: ContextCarrier, inherit?: Component): Span; newExitSpan(operation: string, peer: string, component: Component, inherit?: Component): Span; newLocalSpan(operation: string): Span; start(span: Span): Context; stop(span: Span): boolean; async(span: Span): void; resync(span: Span): void; setEntryStore(span: Span): Span; relateToEntry(span: Span): void; }