import { LanguageModel } from "effect/unstable/ai"; import { type InstrumentOptions } from "./model-attempt-instrumentation.js"; export { type Identity, type IdentityCell, makeIdentityCell } from "./model-attempt-identity.js"; export type { InstrumentOptions } from "./model-attempt-instrumentation.js"; /** * @experimental Wrap a model with call, attempt, and retry telemetry emission * plus the caller's resilience policy. Idempotent per run: a model already * instrumented with the same emit target is returned unchanged, while a * nested run re-wraps the underlying model with its own instrumentation so * one provider invocation never emits into two runs. */ export declare const instrument: { (options: InstrumentOptions): (model: LanguageModel.Service) => LanguageModel.Service; (model: LanguageModel.Service, options: InstrumentOptions): LanguageModel.Service; };