/** * Dynamic Time Warping (legacy signature). * * @param {Array} X - First sequence (2D: features x time) * @param {Array} Y - Second sequence (2D: features x time) * @param {string} metric - 'euclidean' | 'cosine' | 'manhattan' | 'sqeuclidean' * @param {Array} step_sizes_sigma - custom steps (appended to the defaults) * @param {Array} weights_add - additive step weights (honored) * @param {Array} weights_mul - multiplicative step weights (honored) * @param {boolean} subseq - subsequence matching (honored) * @param {boolean} backtrack - whether to return the optimal path * @param {boolean} global_constraints - Sakoe-Chiba band * @param {number} band_rad - band radius as a fraction of min(N, M) * @returns {Object} { distance, cost_matrix, path, normalized_distance } * `cost_matrix` is the (N, M) accumulated cost matrix (no longer the padded * (N+1, M+1) legacy matrix). `path` is start-to-end ascending, as before. */ export function dtw(X: any[], Y: any[], metric?: string, step_sizes_sigma?: any[], weights_add?: any[], weights_mul?: any[], subseq?: boolean, backtrack?: boolean, global_constraints?: boolean, band_rad?: number): any; /** * Compute cost matrix between two sequences * @param {Array} X - First sequence * @param {Array} Y - Second sequence * @param {string} metric - Distance metric * @returns {Array} Cost matrix */ export function computeCostMatrix(X: any[], Y: any[], metric?: string): any[]; /** * Distance metrics */ export function euclideanDistance(a: any, b: any): number; export function manhattanDistance(a: any, b: any): number; export function cosineSimilarity(a: any, b: any): number; /** * Compute DTW distance matrix for multiple sequences * @param {Array} sequences - Array of sequences * @param {string} metric - Distance metric * @returns {Array} Distance matrix */ export function dtwDistanceMatrix(sequences: any[], metric?: string): any[]; /** * Simple k-means clustering using DTW distances * @param {Array} sequences - Array of sequences to cluster * @param {number} k - Number of clusters * @param {number} maxIterations - Maximum iterations * @returns {Array} Cluster assignments */ export function dtwKMeans(sequences: any[], k?: number, maxIterations?: number): any[];