import type { LanguageModelV2Middleware, LanguageModelV2Message } from "@ai-sdk/provider";
import type { RunTreeConfig } from "../../run_trees.js";
export declare const populateToolCallsForTracing: (message: LanguageModelV2Message) => ({
    role: "system";
    content: string;
} & {
    providerOptions?: import("@ai-sdk/provider").SharedV2ProviderOptions;
} & Record<string, unknown>) | ({
    role: "user";
    content: Array<import("@ai-sdk/provider").LanguageModelV2TextPart | import("@ai-sdk/provider").LanguageModelV2FilePart>;
} & {
    providerOptions?: import("@ai-sdk/provider").SharedV2ProviderOptions;
} & Record<string, unknown>) | ({
    role: "assistant";
    content: Array<import("@ai-sdk/provider").LanguageModelV2TextPart | import("@ai-sdk/provider").LanguageModelV2FilePart | import("@ai-sdk/provider").LanguageModelV2ReasoningPart | import("@ai-sdk/provider").LanguageModelV2ToolCallPart | import("@ai-sdk/provider").LanguageModelV2ToolResultPart>;
} & {
    providerOptions?: import("@ai-sdk/provider").SharedV2ProviderOptions;
} & Record<string, unknown>) | ({
    role: "tool";
    content: Array<import("@ai-sdk/provider").LanguageModelV2ToolResultPart>;
} & {
    providerOptions?: import("@ai-sdk/provider").SharedV2ProviderOptions;
} & Record<string, unknown>);
/**
 * AI SDK middleware that wraps an AI SDK 5 model and adds LangSmith tracing.
 */
export declare function LangSmithMiddleware(config?: {
    name: string;
    modelId?: string;
    lsConfig?: Partial<Omit<RunTreeConfig, "inputs" | "outputs" | "run_type">>;
}): LanguageModelV2Middleware;
