/** * Utility functions for span extraction without UnifiedHttpContext * Internal utilities for span extraction functionality */ import type { UnifiedHttpContext } from '@inh-lib/unified-route'; import type { UnifiedTelemetryProvider, UnifiedTelemetrySpan } from '@inh-lib/unified-telemetry-core'; import type { InternalTelemetryMiddlewareConfig } from '../types/middleware.types'; import type { ExtractSpanOptions, FallbackSpanOptions, SpanExtractionSource } from '../types/span-extraction.types'; /** * Try to get active span from provider's tracer */ export declare function tryGetActiveSpanFromProvider(provider: UnifiedTelemetryProvider): UnifiedTelemetrySpan | null; /** * Extract span from headers using trace context */ export declare function extractSpanFromHeaders(headers: Record, provider: UnifiedTelemetryProvider, config: InternalTelemetryMiddlewareConfig, options?: ExtractSpanOptions): UnifiedTelemetrySpan | null; /** * Create fallback span when no active span or extraction fails */ export declare function createFallbackSpan(provider: UnifiedTelemetryProvider, config: InternalTelemetryMiddlewareConfig, options?: FallbackSpanOptions): UnifiedTelemetrySpan; /** * Create minimal UnifiedHttpContext from headers for extraction */ export declare function createMinimalContextFromHeaders(headers: Record): Partial; /** * Determine span extraction source */ export declare function getSpanExtractionSource(hasActiveSpan: boolean, hasValidHeaders: boolean, createNewAllowed: boolean): SpanExtractionSource; /** * Check if headers contain valid trace context */ export declare function hasValidTraceHeaders(headers: Record): boolean;