import { LangchainRun } from '../../types';
import { PareaLogger } from '../../parea_logger';
import { BaseTracer } from '@langchain/core/tracers/base';
import { BaseCallbackHandlerInput } from '@langchain/core/callbacks/base';
/**
 * Interface representing the fields for the LangChain tracer.
 * @extends BaseCallbackHandlerInput
 */
export type LangChainTracerFields = BaseCallbackHandlerInput & {
    exampleId?: string;
    projectName?: string;
    client?: PareaLogger;
};
/**
 * A tracer class for LangChain integration with Parea AI.
 * @extends BaseTracer
 * @implements LangChainTracerFields
 */
export declare class PareaAILangchainTracer extends BaseTracer implements LangChainTracerFields {
    name: string;
    projectName?: string;
    parentTraceId: string;
    exampleId?: string;
    client: PareaLogger;
    /**
     * Creates an instance of PareaAILangchainTracer.
     * @param {LangChainTracerFields} fields - The fields to initialize the tracer with.
     */
    constructor(fields?: LangChainTracerFields);
    /**
     * Retrieves the parent trace ID.
     * @returns {Promise<string>} A promise that resolves to the parent trace ID.
     */
    getParentTraceId(): Promise<string>;
    /**
     * Persists a LangChain run by recording it as a vendor log.
     * @param {LangchainRun} _run - The LangChain run to persist.
     * @returns {Promise<void>} A promise that resolves when the run is persisted.
     * @throws {Error} If there's an error recording the log.
     */
    protected persistRun(_run: LangchainRun): Promise<void>;
}
