/**
 * Adaptive resonance theory
 */
export default class ART {
    /**
     * @param {number} [t] Threshold
     * @param {'l2'} [method] Method name
     */
    constructor(t?: number, method?: "l2");
    _method: L2;
    _t: number;
    _protos: any[];
    /**
     * Number of clusters
     * @type {number}
     */
    get size(): number;
    /**
     * Fit model and returns predicted categories.
     * @param {Array<Array<number>>} datas Training data
     * @returns {number[]} Predicted values
     */
    fit(datas: Array<Array<number>>): number[];
    /**
     * Returns predicted categories.
     * @param {Array<Array<number>>} datas Sample data
     * @returns {number[]} Predicted values
     */
    predict(datas: Array<Array<number>>): number[];
}
declare class L2 {
    constructor(beta?: number);
    _beta: number;
    similarity(p: any, x: any): number;
    update(x: any, prev: any): any;
}
export {};
