import { DiagLogger, HrTime, Meter, Span, SpanAttributes, SpanKind, Tracer } from '@opentelemetry/api'; import { SemconvStability } from '@opentelemetry/instrumentation'; import { AwsSdkInstrumentationConfig, NormalizedRequest, NormalizedResponse } from '../types'; export interface RequestMetadata { isIncoming: boolean; isStream?: boolean; spanAttributes?: SpanAttributes; spanKind?: SpanKind; spanName?: string; } export interface ServiceExtension { requestPreSpanHook: (request: NormalizedRequest, config: AwsSdkInstrumentationConfig, diag: DiagLogger, dbSemconvStability?: SemconvStability) => RequestMetadata; requestPostSpanHook?: (request: NormalizedRequest) => void; responseHook?: (response: NormalizedResponse, span: Span, tracer: Tracer, config: AwsSdkInstrumentationConfig, startTime: HrTime) => any | undefined; updateMetricInstruments?: (meter: Meter) => void; } //# sourceMappingURL=ServiceExtension.d.ts.map