/**
 * Neural gas model
 */
export default class NeuralGas {
    /**
     * @param {number} [l] Neughborhood range
     * @param {number} [m] Decreasing factor of `l`
     */
    constructor(l?: number, m?: number);
    _l: number;
    _eps: number;
    _epoch: number;
    _sample_rate: number;
    _m: number;
    _centroids: any[];
    /**
     * Centroids
     * @type {Array<Array<number>>}
     */
    get centroids(): number[][];
    /**
     * Number of clusters.
     * @type {number}
     */
    get size(): number;
    _distance(a: any, b: any): number;
    /**
     * Add a new cluster.
     * @param {Array<Array<number>>} datas Training data
     * @returns {number[]} Added centroid
     */
    add(datas: Array<Array<number>>): number[];
    /**
     * Clear all clusters.
     */
    clear(): void;
    /**
     * Returns predicted categories.
     * @param {Array<Array<number>>} datas Sample data
     * @returns {number[]} Predicted values
     */
    predict(datas: Array<Array<number>>): number[];
    /**
     * Fit model and returns total distance the centroid has moved.
     * @param {Array<Array<number>>} datas Training data
     * @returns {number} Total distance the centroid has moved
     */
    fit(datas: Array<Array<number>>): number;
}
