import { InstrumentationBase, InstrumentationModuleDefinition } from "@opentelemetry/instrumentation";
import { LangChainInstrumentationConfig } from "./types";
export declare class LangChainInstrumentation extends InstrumentationBase {
    protected _config: LangChainInstrumentationConfig;
    constructor(config?: LangChainInstrumentationConfig);
    manuallyInstrument({ chainsModule, agentsModule, toolsModule, vectorStoreModule, runnablesModule, }: {
        chainsModule?: any;
        agentsModule?: any;
        toolsModule?: any;
        vectorStoreModule?: any;
        runnablesModule?: any;
    }): void;
    protected init(): InstrumentationModuleDefinition[];
    private patchChainModule;
    private patchAgentModule;
    private patchToolsModule;
    private patchVectorStoreModule;
    private patchRunnablesModule;
    private unpatchChainModule;
    private unpatchAgentModule;
    private unpatchToolsModule;
    private unpatchVectorStoreModule;
    private unpatchRunnablesModule;
    private _shouldSendPrompts;
}
//# sourceMappingURL=instrumentation.d.ts.map