import { type ContextManager, type Meter, type Tracer } from "@opentelemetry/api"; import type { ObservabilityExportConfig } from "./observability-config.js"; export type OtlpSignal = "metrics" | "traces"; export type OtlpRuntimeState = "failed" | "running" | "stopped"; export interface OtlpHealthSink { recordExport(signal: OtlpSignal, success: boolean): void; transitionExporter(state: OtlpRuntimeState): void; } export interface OtlpRuntimeHandle { contextManager?: ContextManager; forceFlush(): Promise; meter?: Meter; shutdown(): Promise; tracer?: Tracer; } export declare function startOtlpRuntime(config: ObservabilityExportConfig, sink: OtlpHealthSink): OtlpRuntimeHandle; export declare const OTEL_INSTRUMENTATION_NAME = "guildcontrol"; //# sourceMappingURL=otel-runtime.d.ts.map