import type { SOMTopology, SOMNeighborhood } from './types'; export interface MiniSomReferenceParams { /** MiniSom `x` dimension (number of columns). */ grid_width: number; /** MiniSom `y` dimension (number of rows). */ grid_height: number; topology: SOMTopology; neighborhood: SOMNeighborhood; learning_rate: number; /** Initial neighborhood radius `sigma0` (MiniSom `sigma`, the fixture `radius`). */ sigma: number; /** Number of per-sample updates (MiniSom `num_iteration`, not epochs). */ num_iteration: number; } export interface MiniSomReferenceResult { weights: number[][][]; /** BMU grid coordinates per sample as `[row, col]`. */ bmus: number[][]; /** Flat cluster labels per sample (`row * grid_width + col`). */ labels: number[]; quantization_error: number; topographic_error: number; u_matrix: number[][]; } export declare function train_minisom_reference(data: number[][], initial_weights: number[][][], params: MiniSomReferenceParams): MiniSomReferenceResult;