/**
 * Elkan's accelerated k-Means algorithm
 */
export default class ElkanKMeans {
    /**
     * @param {number} k Number of clusters
     */
    constructor(k: number);
    _k: number;
    _c: number[][] | any[][];
    _d: (a: any, b: any) => number;
    /**
     * Centroids
     * @type {Array<Array<number>>}
     */
    get centroids(): Array<Array<number>>;
    /**
     * Initialize this model.
     * @param {Array<Array<number>>} datas Training data
     */
    init(datas: Array<Array<number>>): void;
    _x: number[][];
    _p: any[];
    _l: any[];
    _u: any[];
    /**
     * Fit model.
     */
    fit(): void;
    /**
     * Returns predicted categories.
     * @param {Array<Array<number>>} datas Sample data
     * @returns {number[]} Predicted values
     */
    predict(datas: Array<Array<number>>): number[];
}
