import { BaseTracer, Run } from "@langchain/core/tracers/base";
import { OITracer } from "@arizeai/openinference-core";
export declare class LangChainTracer extends BaseTracer {
    private tracer;
    private runs;
    constructor(tracer: OITracer);
    name: string;
    protected persistRun(_run: Run): Promise<void>;
    /**
     * Called when a new run is created on v0.1.0 of langchain see {@link BaseTracer}
     * @param run the langchain {@link Run} object
     *
     * This method is only available on langchain ^0.1.0 BaseTracer and has been replaced in 0.2 by onRunCreate
     * we support both 0.1 and 0.2 so we need to check if the method exists on the super class before calling it
     */
    protected _startTrace(run: Run): Promise<void>;
    /**
     * Called when a new run is created on v0.2.0 of langchain see {@link BaseTracer}
     * @param run the langchain {@link Run} object
     *
     * This method is only available on the langchain ^0.2.0 {@link BaseTracer}
     */
    onRunCreate(run: Run): Promise<void>;
    startTracing(run: Run): Promise<void>;
    protected _endTrace(run: Run): Promise<void>;
    private getParentSpanContext;
}
//# sourceMappingURL=tracer.d.ts.map