/**
 * Vector Utilities
 *
 * Utility functions for working with vector embeddings
 */
/**
 * Calculate the dot product of two vectors
 */
export declare function dotProduct(vecA: number[], vecB: number[]): number;
/**
 * Calculate the magnitude (length) of a vector
 */
export declare function magnitude(vec: number[]): number;
/**
 * Calculate the cosine similarity between two vectors
 * Returns a value between -1 and 1, where 1 means identical direction,
 * 0 means orthogonal (perpendicular), and -1 means opposite direction
 */
export declare function cosineSimilarity(vecA: number[], vecB: number[]): number;
/**
 * Calculate the Euclidean distance between two vectors
 * Lower values indicate greater similarity
 */
export declare function euclideanDistance(vecA: number[], vecB: number[]): number;
/**
 * Normalize a vector to unit length
 */
export declare function normalizeVector(vec: number[]): number[];
/**
 * Average multiple vectors into a single vector
 * Useful for creating document or concept embeddings from multiple sentences
 */
export declare function averageVectors(vectors: number[][]): number[];
/**
 * Calculate the weighted average of multiple vectors
 * Weights should sum to 1.0
 */
export declare function weightedAverageVectors(vectors: number[][], weights: number[]): number[];
/**
 * Find the nearest neighbors to a query vector
 * Returns indices of the nearest neighbors in descending order of similarity
 */
export declare function findNearestNeighbors(queryVector: number[], vectorDatabase: number[][], k?: number, similarityFn?: (a: number[], b: number[]) => number): {
    index: number;
    similarity: number;
}[];
/**
 * Cluster vectors using k-means algorithm
 * Returns cluster assignments (0 to k-1) for each vector
 */
export declare function kMeansClustering(vectors: number[][], k: number, maxIterations?: number): number[];
declare const _default: {
    dotProduct: typeof dotProduct;
    magnitude: typeof magnitude;
    cosineSimilarity: typeof cosineSimilarity;
    euclideanDistance: typeof euclideanDistance;
    normalizeVector: typeof normalizeVector;
    averageVectors: typeof averageVectors;
    weightedAverageVectors: typeof weightedAverageVectors;
    findNearestNeighbors: typeof findNearestNeighbors;
    kMeansClustering: typeof kMeansClustering;
};
export default _default;
//# sourceMappingURL=vectorUtils.d.ts.map