import type { LanguageModelV2Prompt } from '../../../_types/@ai-sdk_provider-v5/dist/index.d.ts';
import type { LanguageModelV1Prompt, CoreMessage as CoreMessageV4 } from '../../../_types/@internal_ai-sdk-v4/dist/index.d.ts';
import type { AIV5Type } from '../types.js';
type AIV5LanguageModelV2Message = LanguageModelV2Prompt[0];
type LanguageModelV1Message = LanguageModelV1Prompt[0];
/**
 * Convert an AI SDK V4 CoreMessage to a V1 LanguageModel prompt message.
 * Used for creating LLM prompt messages without AI SDK streamText/generateText.
 */
export declare function aiV4CoreMessageToV1PromptMessage(coreMessage: CoreMessageV4): LanguageModelV1Message;
/**
 * Convert an AI SDK V5 ModelMessage to a V2 LanguageModel prompt message.
 * Used for creating LLM prompt messages without AI SDK streamText/generateText.
 */
export declare function aiV5ModelMessageToV2PromptMessage(modelMessage: AIV5Type.ModelMessage): AIV5LanguageModelV2Message;
/**
 * Convert a V2 (AI SDK v5 / spec `v2`) prompt into the shape AI SDK v6
 * (spec `v3`) providers expect, by translating tool-result `media` parts into
 * the `image-data`/`file-data` content parts that v6 providers consume.
 *
 * This is a single-responsibility conversion meant to be chained after the
 * base v5 prompt build: `aiV6.llmPrompt()` = `aiV5.llmPrompt()` -> this.
 *
 * Mastra's `toModelOutput` and the vendored AI SDK v5 use `{ type: 'media' }`
 * as the authored multimodal tool-result content type. AI SDK v6 added a
 * `mapToolResultOutput` step that converts `media` -> `image-data` (for
 * `image/*` media types) or `file-data` (everything else) before the prompt
 * reaches the provider, and v6 providers (e.g. `@ai-sdk/anthropic@3`) only
 * recognize `image-data`/`file-data` — they have no `media` case. The vendored
 * v5 converter does not run that translation, so a v5-built prompt handed to a
 * v6 provider drops the raw `media` part (image tool results arrive empty).
 *
 * This MUST only run for v6 (`v3`) providers: v5 providers (spec `v2`) accept
 * `media` and have no `image-data`/`file-data` case, so translating for them
 * would re-break v5.
 *
 * See: https://github.com/mastra-ai/mastra/issues/17876
 */
export declare function aiV5PromptToAIV6Prompt(prompt: LanguageModelV2Prompt): LanguageModelV2Prompt;
export {};
//# sourceMappingURL=to-prompt.d.ts.map