import type * as CallbackManagerModuleV02 from "@langchain/core/callbacks/manager"; import type { Tracer, TracerProvider } from "@opentelemetry/api"; import type { InstrumentationConfig, InstrumentationModuleDefinition } from "@opentelemetry/instrumentation"; import { InstrumentationBase } from "@opentelemetry/instrumentation"; import type { TraceConfigOptions } from "@arizeai/openinference-core"; /** * function to check if instrumentation is enabled / disabled */ export declare function isPatched(): boolean; type CallbackManagerModule = typeof CallbackManagerModuleV02; /** * An auto instrumentation class for LangChain that creates {@link https://github.com/Arize-ai/openinference/blob/main/spec/semantic_conventions.md|OpenInference} Compliant spans for LangChain * @param instrumentationConfig The config for the instrumentation @see {@link InstrumentationConfig} * @param traceConfig The OpenInference trace configuration. Can be used to mask or redact sensitive information on spans. @see {@link TraceConfigOptions} */ export declare class LangChainInstrumentation extends InstrumentationBase { private oiTracer; private tracerProvider?; private traceConfig?; constructor({ instrumentationConfig, traceConfig, tracerProvider, }?: { /** * The config for the instrumentation * @see {@link InstrumentationConfig} */ instrumentationConfig?: InstrumentationConfig; /** * The OpenInference trace configuration. Can be used to mask or redact sensitive information on spans. * @see {@link TraceConfigOptions} */ traceConfig?: TraceConfigOptions; /** * An optional custom trace provider to be used for tracing. If not provided, a tracer will be created using the global tracer provider. * This is useful if you want to use a non-global tracer provider. * * @see {@link TracerProvider} */ tracerProvider?: TracerProvider; }); manuallyInstrument(module: CallbackManagerModule): void; protected init(): InstrumentationModuleDefinition; get tracer(): Tracer; setTracerProvider(tracerProvider: TracerProvider): void; private patch; private unpatch; } export {}; //# sourceMappingURL=instrumentation.d.ts.map