/**
 * Learning Vector Quantization clustering
 */
export class LVQCluster {
    /**
     * @param {number} k Number of clusters
     */
    constructor(k: number);
    _k: number;
    _w: any[];
    _distance(a: any, b: any): number;
    _nearest(v: any): number;
    _init(x: any): void;
    /**
     * Fit model.
     * @param {Array<Array<number>>} x Training data
     * @param {number} lr Learning rate
     */
    fit(x: Array<Array<number>>, lr?: number): void;
    /**
     * Returns predicted categories.
     * @param {Array<Array<number>>} datas Sample data
     * @returns {number[]} Predicted values
     */
    predict(datas: Array<Array<number>>): number[];
}
/**
 * Learning Vector Quantization classifier
 */
export class LVQClassifier {
    /**
     * @param {1 | 2 | 3} type Type number
     */
    constructor(type: 1 | 2 | 3);
    _m: any[];
    _c: any[];
    _type: 2 | 1 | 3;
    _w: number;
    _distance(a: any, b: any): number;
    _nears(v: any): any[];
    _init(x: any, y: any): void;
    /**
     * Fit model.
     * @param {Array<Array<number>>} x Training data
     * @param {*[]} y Target values
     * @param {number} lr Learning rate
     */
    fit(x: Array<Array<number>>, y: any[], lr?: number): void;
    /**
     * Returns predicted categories.
     * @param {Array<Array<number>>} datas Sample data
     * @returns {*[]} Predicted values
     */
    predict(datas: Array<Array<number>>): any[];
}
