import { Effect } from "effect"; import type { Tracer, Meter, AttributeValue } from "@opentelemetry/api"; import { SpanOptions, Span, SpanStatus } from "effect/Tracer"; import { OtelConfig } from "./types.js"; export interface OtelServiceApi { readonly initOtelSDK: (config?: OtelConfig) => Effect.Effect; readonly shutdown: () => Effect.Effect; readonly startSpan: (name: string, options?: SpanOptions) => Effect.Effect; readonly endSpan: (span: Span, status?: SpanStatus) => Effect.Effect; readonly addEvent: (span: Span, name: string, attributes?: Record) => Effect.Effect; readonly recordException: (span: Span, exception: Error, attributes?: Record) => Effect.Effect; readonly recordCounter: (name: string, value: number, attributes?: Record) => Effect.Effect; readonly recordHistogram: (name: string, value: number, attributes?: Record) => Effect.Effect; readonly recordGauge: (name: string, value: number, attributes?: Record) => Effect.Effect; readonly trace: (name: string, fn: () => Promise, options?: SpanOptions) => Effect.Effect; readonly traceSync: (name: string, fn: () => A, options?: SpanOptions) => Effect.Effect; readonly getTracer: () => Effect.Effect; readonly getMeter: () => Effect.Effect; readonly getLogger: () => Effect.Effect; } //# sourceMappingURL=api.d.ts.map