/**
 * Mean shift
 */
export default class MeanShift {
    /**
     * @param {number} h Smoothing parameter for the kernel
     * @param {number} threshold Threshold
     */
    constructor(h: number, threshold: number);
    _x: number[][];
    _centroids: any;
    _h: number;
    _threshold: number;
    _categories: number;
    /**
     * Number of categories that last predicted
     * @type {number}
     */
    get categories(): number;
    /**
     * h
     * @type {number}
     */
    get h(): number;
    _distance(a: any, b: any): number;
    /**
     * Initialize model.
     * @param {Array<Array<number>>} data Training data
     */
    init(data: Array<Array<number>>): void;
    /**
     * Returns predicted categories.
     * @returns {number[]} Predicted values
     */
    predict(): number[];
    /**
     * Fit model.
     * @returns {boolean} `true` if any centroids has moved
     */
    fit(): boolean;
}
