import { BaseCallbackHandler } from "@langchain/core/callbacks/base";
import { Generation, LLMResult } from "@langchain/core/outputs";
import { ChatCompletionMessage, ChatCompletionResult, CompletionRequest } from "../../../../index";
type HandleLLMStartParameters = Parameters<NonNullable<BaseCallbackHandler["handleLLMStart"]>>;
type ExtraParams = HandleLLMStartParameters[4];
type Metadata = HandleLLMStartParameters[6];
export declare function parseLangchainModelAndParameters(metadata: Metadata, extraParams: ExtraParams): [string, Record<string, unknown>];
export declare function determineProvider(ids: string[], metadata?: Record<string, unknown>): "openai" | "bedrock" | "anthropic" | "huggingface" | "azure" | "together" | "groq" | "google";
export declare function parseMessage(generation: Generation): any | undefined;
export declare function convertLLMResultToCompletionResult(result: LLMResult): ChatCompletionResult;
export declare function parseTokenUsageForResult(result: LLMResult): {
    prompt_tokens: number;
    completion_tokens: number;
    total_tokens: number;
};
export declare function parseLangchainErrorToMaximError(error: unknown): {
    message: string;
    code?: string;
    type?: string;
};
export declare function maybeParseJSON(input?: string): any;
export declare function parseLangchainMessages(input: string[] | unknown[][], defaultRole?: string): (CompletionRequest | ChatCompletionMessage)[];
export declare function parseLangchainTags(maximMetadataTags?: Record<string, string>, langchainTags?: string[]): Record<string, string>;
export declare function addParsedTagsToLogger(tags: string[] | undefined, addTagFunction: (tag: string, value: string) => void): void;
export {};
