import { type TelemetryOptions } from 'ai'; import type { Tracer } from '@opentelemetry/api'; /** * Opt-in AI SDK OpenTelemetry wiring. Kuralle never registers `@ai-sdk/otel` at * import time — v7 traces by default once an integration is registered, so * registration is explicit (this helper or `HarnessConfig.aiSdkTelemetry`). */ export interface AiSdkTelemetryConfig { /** When true, register `@ai-sdk/otel` for this process. Default false. */ enabled?: boolean; /** Passed to the OpenTelemetry integration constructor — not per-call telemetry. */ tracer?: Tracer; recordInputs?: boolean; recordOutputs?: boolean; } export declare function registerAiSdkOpenTelemetry(options?: Pick): void; /** @internal Test-only reset; not part of the public API surface. */ export declare function resetAiSdkOpenTelemetryRegistrationForTests(): void; export declare function normalizeAiSdkTelemetryConfig(config: AiSdkTelemetryConfig | boolean | undefined): AiSdkTelemetryConfig | undefined; export declare function resolveAiSdkTelemetryOptions(config: AiSdkTelemetryConfig | boolean | undefined, functionId: string): TelemetryOptions | undefined; export declare function ensureAiSdkTelemetryRegistered(config: AiSdkTelemetryConfig | boolean | undefined): void;