import { ProxyTraceManager } from "../../manager/ProxyTraceManager/ProxyTraceManager.js"; import { Span, SpanOptions, TimeInput } from "@opentelemetry/api"; import { ReadableSpan } from "@opentelemetry/sdk-trace-web"; //#region src/api-traces/api/TraceAPI/types.d.ts interface TraceAPIArgs { proxyTraceManager: ProxyTraceManager; } type ExtendedSpanFailureCode = 'failure' | 'user_abandon'; type ExtendedSpanFailedOptions = { code?: ExtendedSpanFailureCode; endTime?: TimeInput; }; /** * Exposes the span's current attributes (readonly) without defining all properties of the ReadableSpan interface. * Ideally, we create a new interface that merges OpenTelemetry's Span, ReadableSpan and the not-yet-implemented * Writable Span described here: * https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/sdk.md#additional-span-interfaces */ interface ExtendedSpan extends Span, Pick { removeAttribute: (key: string) => this; fail: (options?: ExtendedSpanFailedOptions) => void; } type ExtendedSpanOptions = SpanOptions & { parentSpan?: Span; }; //#endregion export { ExtendedSpan, ExtendedSpanFailedOptions, ExtendedSpanFailureCode, ExtendedSpanOptions, TraceAPIArgs }; //# sourceMappingURL=types.d.ts.map