import { BaseCallbackHandler, BaseCallbackHandlerInput } from "@langchain/core/callbacks/base";
import { MaximLogger } from "../../../../index";
type HandleLLMStartParameters = Parameters<NonNullable<BaseCallbackHandler["handleLLMStart"]>>;
type HandleLLMEndParameters = Parameters<NonNullable<BaseCallbackHandler["handleLLMEnd"]>>;
type HandleLLMErrorParameters = Parameters<NonNullable<BaseCallbackHandler["handleLLMError"]>>;
type HandleChatModelStartParameters = Parameters<NonNullable<BaseCallbackHandler["handleChatModelStart"]>>;
type HandleRetrieverStartParameters = Parameters<NonNullable<BaseCallbackHandler["handleRetrieverStart"]>>;
type HandleRetrieverEndParameters = Parameters<NonNullable<BaseCallbackHandler["handleRetrieverEnd"]>>;
type HandleChainStartParameters = Parameters<NonNullable<BaseCallbackHandler["handleChainStart"]>>;
type HandleChainEndParameters = Parameters<NonNullable<BaseCallbackHandler["handleChainEnd"]>>;
type HandleToolStartParameters = Parameters<NonNullable<BaseCallbackHandler["handleToolStart"]>>;
type HandleToolEndParameters = Parameters<NonNullable<BaseCallbackHandler["handleToolEnd"]>>;
type HandleToolErrorParameters = Parameters<NonNullable<BaseCallbackHandler["handleToolError"]>>;
type HandleChainErrorParameters = Parameters<NonNullable<BaseCallbackHandler["handleChainError"]>>;
export declare class MaximLangchainTracer extends BaseCallbackHandler {
    private readonly logger;
    readonly name = "MaximLangchainTracer";
    private containerManager;
    constructor(logger: MaximLogger, input?: BaseCallbackHandlerInput);
    private safeStringify;
    private getMetadataClassFromRecord;
    private getContainer;
    handleChainStart(_chain: HandleChainStartParameters[0], inputs: HandleChainStartParameters[1], runId: HandleChainStartParameters[2], parentRunId?: HandleChainStartParameters[3], tags?: HandleChainStartParameters[4], metadata?: HandleChainStartParameters[5], _runType?: HandleChainStartParameters[6], runName?: HandleChainStartParameters[7]): void;
    handleChainEnd(outputs: HandleChainEndParameters[0], runId: HandleChainEndParameters[1], _parentRunId?: HandleChainEndParameters[2], tags?: HandleChainEndParameters[3], _kwargs?: HandleChainEndParameters[4]): void;
    handleChainError(err: HandleChainErrorParameters[0], runId: HandleChainErrorParameters[1], _parentRunId?: HandleChainErrorParameters[2], tags?: HandleChainErrorParameters[3]): void;
    handleLLMStart(llm: HandleLLMStartParameters[0], prompts: HandleLLMStartParameters[1], runId: HandleLLMStartParameters[2], parentRunId?: HandleLLMStartParameters[3], extraParams?: HandleLLMStartParameters[4], tags?: HandleLLMStartParameters[5], metadata?: HandleLLMStartParameters[6], name?: HandleLLMStartParameters[7]): Promise<void>;
    handleLLMEnd(output: HandleLLMEndParameters[0], runId: HandleLLMEndParameters[1], parentRunId?: HandleLLMEndParameters[2], tags?: HandleLLMEndParameters[3]): void;
    handleLLMError(err: HandleLLMErrorParameters[0], runId: HandleLLMErrorParameters[1], parentRunId?: HandleLLMErrorParameters[2], tags?: HandleLLMErrorParameters[3]): void;
    handleChatModelStart(llm: HandleChatModelStartParameters[0], messages: HandleChatModelStartParameters[1], runId: HandleChatModelStartParameters[2], parentRunId?: HandleChatModelStartParameters[3], extraParams?: HandleChatModelStartParameters[4], tags?: HandleChatModelStartParameters[5], metadata?: HandleChatModelStartParameters[6], runName?: HandleChatModelStartParameters[7]): Promise<void>;
    handleRetrieverStart(_retriever: HandleRetrieverStartParameters[0], query: HandleRetrieverStartParameters[1], runId: HandleRetrieverStartParameters[2], parentRunId?: HandleRetrieverStartParameters[3], tags?: HandleRetrieverStartParameters[4], metadata?: HandleRetrieverStartParameters[5], name?: HandleRetrieverStartParameters[6]): void;
    handleRetrieverEnd(documents: HandleRetrieverEndParameters[0], runId: HandleRetrieverEndParameters[1], parentRunId?: HandleRetrieverEndParameters[2], tags?: HandleRetrieverEndParameters[3]): void;
    handleToolStart(tool: HandleToolStartParameters[0], input: HandleToolStartParameters[1], runId: HandleToolStartParameters[2], parentRunId?: HandleToolStartParameters[3], tags?: HandleToolStartParameters[4], metadata?: HandleToolStartParameters[5], runName?: HandleToolStartParameters[6]): void;
    handleToolEnd(output: HandleToolEndParameters[0], runId: HandleToolEndParameters[1], parentRunId?: HandleToolEndParameters[2], tags?: HandleToolEndParameters[3]): void;
    handleToolError(error: HandleToolErrorParameters[0], runId: HandleToolErrorParameters[1], parentRunId?: HandleToolErrorParameters[2], tags?: HandleToolErrorParameters[3]): void;
}
export {};
