import { ActivityMetadata, ActivityType, Consumes } from '../../types/activity'; import { JobState } from '../../types/job'; import { StringAnyType, StringScalarType, StringStringType } from '../../types/serializer'; import { StreamData, StreamRole } from '../../types/stream'; import { Span, Context } from '../../types/telemetry'; declare class TelemetryService { span: Span; jobSpan: Span; config: ActivityType; traceId: string | null; spanId: string | null; appId: string; metadata: ActivityMetadata; context: JobState; leg: number; /** * Namespaces registered by the durable module. Engine-layer spans * for these namespaces are suppressed in 'info' mode — the * DurableTelemetryService emits the user-facing story instead. */ static durableNamespaces: Set; constructor(appId: string, config?: ActivityType, metadata?: ActivityMetadata, context?: JobState); private isDurableApp; /** * Gate engine-layer span creation. For durable namespaces in 'info' * mode, returns false — DurableTelemetryService handles telemetry * at the right abstraction level. In 'debug' mode, both layers emit. */ private shouldCreateSpan; private static createNoopSpan; getJobParentSpanId(): string | undefined; getActivityParentSpanId(leg: number): string | undefined; getTraceId(): string | undefined; startJobSpan(): TelemetryService; /** * Traces an activity. * @private */ static traceActivity(appId: string, attributes: StringScalarType, activityId: string, traceId: string, spanId: string, index?: number): Promise; startActivitySpan(leg?: number): TelemetryService; startStreamSpan(data: StreamData, role: StreamRole): TelemetryService; startSpan(traceId: string, spanId: string, spanName: string, attributes: StringScalarType, bCreate?: boolean): Span; mapActivityAttributes(): void; setActivityAttributes(attributes: StringScalarType): void; setStreamAttributes(attributes: StringScalarType): void; setJobAttributes(attributes: StringScalarType): void; endJobSpan(): void; endActivitySpan(): void; endStreamSpan(): void; endSpan(span: Span): void; getParentSpanContext(): undefined | Context; getSpanAttrs(leg: number): StringAnyType; getStreamSpanAttrs(input: StreamData): StringAnyType; setTelemetryContext(span: Span, leg: number): void; setActivityError(message: string): void; setStreamError(message: string): void; static addTargetTelemetryPaths(consumes: Consumes, config: ActivityType, metadata: ActivityMetadata, leg: number): void; static bindJobTelemetryToState(state: StringStringType, config: ActivityType, context: JobState): void; static bindActivityTelemetryToState(state: StringAnyType, config: ActivityType, metadata: ActivityMetadata, context: JobState, leg: number): void; } export { TelemetryService };