import { InstrumentationConfig, InstrumentationBase, InstrumentationModuleDefinition } from '@opentelemetry/instrumentation'; import * as genai from '@google/genai'; interface GenAIInstrumentationConfig extends InstrumentationConfig { traceContent?: boolean; exceptionLogger?: (e: Error) => void; } declare const genaiFinishReasonMap: Record; declare class GenAIInstrumentation extends InstrumentationBase { protected _config: GenAIInstrumentationConfig; /** Tracks already-patched modules to prevent double-patching on repeated calls. */ private readonly _instrumentedModules; constructor(config?: GenAIInstrumentationConfig); setConfig(config?: GenAIInstrumentationConfig): void; protected init(): InstrumentationModuleDefinition; private wrap; private unwrap; manuallyInstrument(module: typeof genai): void; private _shouldSendPrompts; private wrapGoogleGenAI; private wrapGenerateContent; private wrapGenerateContentStream; private _startSpan; private _endSpan; } export { GenAIInstrumentation, genaiFinishReasonMap }; export type { GenAIInstrumentationConfig };