/** * Telemetry extraction adapter for unified middleware */ import type { UnifiedHttpContext } from '@inh-lib/unified-route'; import type { UnifiedTelemetrySpan, UnifiedTelemetryLogger } from '@inh-lib/unified-telemetry-core'; import type { InternalTelemetryDependencies, InternalTraceContext, InternalHttpRequestContext, InternalPerformanceTrackingData, InternalResourceMeasurement } from '../types/middleware.types'; import { TelemetryLayerType, TelemetryOperationType } from '../types/telemetry.types'; /** * Adapter for extracting and setting up telemetry context */ export declare function createTelemetryExtractorAdapter(dependencies: InternalTelemetryDependencies): { extractAndSetupTelemetry: (context: UnifiedHttpContext) => InternalPerformanceTrackingData; injectTraceHeaders: (traceContext: InternalTraceContext) => Record; createSpanFromContext: (requestContext: InternalHttpRequestContext, traceContext: InternalTraceContext) => UnifiedTelemetrySpan; createLoggerFromSpan: (span: UnifiedTelemetrySpan, requestContext: InternalHttpRequestContext, operationType?: TelemetryOperationType, layer?: TelemetryLayerType) => UnifiedTelemetryLogger; }; /** * Create span name from request context */ export declare function createSpanName(requestContext: InternalHttpRequestContext): string; /** * Create operation name from request context */ export declare function createOperationName(requestContext: InternalHttpRequestContext): string; /** * Create span attributes from request context */ export declare function createSpanAttributes(requestContext: InternalHttpRequestContext, traceContext: InternalTraceContext): Record; /** * Create a no-op span when tracing is disabled */ export declare function createNoOpSpan(): UnifiedTelemetrySpan; /** * Create a no-op logger when logging is disabled */ export declare function createNoOpLogger(): UnifiedTelemetryLogger; /** * Create empty resource measurement when tracking is disabled */ export declare function createEmptyResourceMeasurement(): InternalResourceMeasurement;