/** * Google's embedding wire format, shared by the synchronous adapter and the batch tier: task types, * the text prefixes gemini-embedding-2 reads instead, and parts. */ import type { EmbeddingInputType, EmbeddingProviderPart } from '../types/embeddings.js'; /** Google's task type for each input type, on the models that take one. */ export declare const GOOGLE_TASK_TYPES: Record; /** Whether a model reads its task from a text prefix rather than a task type, as gemini-embedding-2 does. */ export declare function usesTaskPrefix(model: string): boolean; /** * An input's parts as Google's: text as text, the first carrying the task prefix when one is given, * and media inline, or by a Files API URI. Google does not fetch any other URL. */ export declare function googleParts(parts: readonly EmbeddingProviderPart[], prefixFor: EmbeddingInputType | undefined): ({ text: string; inlineData?: undefined; fileData?: undefined; } | { inlineData: { mimeType: string; data: string; }; text?: undefined; fileData?: undefined; } | { fileData: { mimeType: string; fileUri: string; }; text?: undefined; inlineData?: undefined; })[];