import type { ImageType } from "../Node.js"; import type { VectorStoreQueryMode } from "../storage/vectorStore/types.js"; /** * Similarity type * Default is cosine similarity. Dot product and negative Euclidean distance are also supported. */ export declare enum SimilarityType { DEFAULT = "cosine", DOT_PRODUCT = "dot_product", EUCLIDEAN = "euclidean" } /** * The similarity between two embeddings. * @param embedding1 * @param embedding2 * @param mode * @returns similarity score with higher numbers meaning the two embeddings are more similar */ export declare function similarity(embedding1: number[], embedding2: number[], mode?: SimilarityType): number; /** * Get the top K embeddings from a list of embeddings ordered by similarity to the query. * @param queryEmbedding * @param embeddings list of embeddings to consider * @param similarityTopK max number of embeddings to return, default 2 * @param embeddingIds ids of embeddings in the embeddings list * @param similarityCutoff minimum similarity score * @returns */ export declare function getTopKEmbeddings(queryEmbedding: number[], embeddings: number[][], similarityTopK?: number, embeddingIds?: any[] | null, similarityCutoff?: number | null): [number[], any[]]; export declare function getTopKEmbeddingsLearner(queryEmbedding: number[], embeddings: number[][], similarityTopK?: number, embeddingsIds?: any[], queryMode?: VectorStoreQueryMode): [number[], any[]]; export declare function getTopKMMREmbeddings(queryEmbedding: number[], embeddings: number[][], similarityFn?: ((...args: any[]) => number) | null, similarityTopK?: number | null, embeddingIds?: any[] | null, _similarityCutoff?: number | null, mmrThreshold?: number | null): [number[], any[]]; export declare function imageToString(input: ImageType): Promise; export declare function stringToImage(input: string): ImageType; export declare function imageToDataUrl(input: ImageType): Promise;