import Span from '../span/span'; import Segment from '../context/segment'; import ContextCarrier from './contextCarrier'; import { Component } from '../constants'; export default interface Context { segment: Segment; nSpans: number; newLocalSpan(operation: string): Span; newEntrySpan(operation: string, carrier?: ContextCarrier, inherit?: Component): Span; newExitSpan(operation: string, peer: string, component: Component, inherit?: Component): Span; start(span: Span): Context; stop(span: Span): boolean; async(span: Span): void; resync(span: Span): void; }