///
import { Embeddings, EmbeddingsParams } from "../../embeddings/base.js";
import { GoogleVertexAIBasePrediction, GoogleVertexAIConnectionParams, GoogleVertexAILLMResponse } from "../../types/googlevertexai-types.js";
export interface GoogleVertexAIMultimodalEmbeddingsParams extends EmbeddingsParams, GoogleVertexAIConnectionParams {
}
interface GoogleVertexAIMultimodalEmbeddingsInstance {
text?: string;
image?: {
bytesBase64Encoded: string;
};
}
interface GoogleVertexAIMultimodalEmbeddingsResults extends GoogleVertexAIBasePrediction {
textEmbedding?: number[];
imageEmbedding?: number[];
}
/**
* The media should have a text property, an image property, or both.
*/
export type GoogleVertexAIMedia = {
text: string;
image?: Buffer;
} | {
text?: string;
image: Buffer;
};
export type MediaEmbeddings = {
text?: number[];
image?: number[];
};
export declare class GoogleVertexAIMultimodalEmbeddings extends Embeddings implements GoogleVertexAIMultimodalEmbeddingsParams {
model: string;
private connection;
constructor(fields?: GoogleVertexAIMultimodalEmbeddingsParams);
mediaToInstance(media: GoogleVertexAIMedia): GoogleVertexAIMultimodalEmbeddingsInstance;
responseToEmbeddings(response: GoogleVertexAILLMResponse): MediaEmbeddings[];
embedMedia(media: GoogleVertexAIMedia[]): Promise;
embedMediaQuery(media: GoogleVertexAIMedia): Promise;
embedImage(images: Buffer[]): Promise;
embedImageQuery(image: Buffer): Promise;
embedDocuments(documents: string[]): Promise;
embedQuery(document: string): Promise;
}
export {};