import type { ToolModelContentPart } from "../core/tool/tool-types.js";
type JSONValue = null | string | number | boolean | {
    [key: string]: JSONValue | undefined;
} | JSONValue[];
type AISDKTextPart = {
    type: "text";
    text: string;
};
type TaggedFilePart = {
    type: "file";
    data: {
        type: "data";
        data: string;
    };
    mediaType: string;
    filename?: string;
};
type LegacyFilePart = {
    type: "file-data";
    data: string;
    mediaType: string;
    filename?: string;
};
type ToAISDKContentOptions = {
    taggedFileData: boolean;
};
export type TaggedAISDKContent = {
    type: "content";
    value: (AISDKTextPart | TaggedFilePart)[];
};
type LegacyAISDKContent = {
    type: "content";
    value: (AISDKTextPart | LegacyFilePart)[];
};
export declare function toAISDKContent(parts: readonly ToolModelContentPart[], options: {
    taggedFileData: true;
}): TaggedAISDKContent;
export declare function toAISDKContent(parts: readonly ToolModelContentPart[], options: {
    taggedFileData: false;
}): LegacyAISDKContent;
export declare function toAISDKContent(parts: readonly ToolModelContentPart[], options: ToAISDKContentOptions): TaggedAISDKContent | LegacyAISDKContent;
export declare const toAISDKDefaultOutput: (output: unknown) => {
    type: "text";
    value: string;
} | {
    type: "json";
    value: JSONValue;
};
export {};
//# sourceMappingURL=toolOutputConversion.d.ts.map