/**
 * Fuzzy k-nearest neighbor
 */
export default class FuzzyKNN {
    /**
     * @param {number} [k] Number of neighborhoods
     * @param {number} [m] Factor of weight for distance
     */
    constructor(k?: number, m?: number);
    _p: any[];
    _c: any[];
    _classes: any[];
    _u: any[];
    _k: number;
    _m: number;
    _d: (a: any, b: any) => number;
    /**
     * Category list
     * @type {*[]}
     */
    get categories(): any[];
    _near_points(data: any): any[];
    /**
     * Add a data.
     * @param {number[]} point Training data
     * @param {*} [category] Target value
     */
    add(point: number[], category?: any): void;
    /**
     * Add datas.
     * @param {Array<Array<number>>} datas Training data
     * @param {*[]} targets Target values
     */
    fit(datas: Array<Array<number>>, targets: any[]): void;
    /**
     * Returns predicted categories.
     * @param {Array<Array<number>>} datas Sample data
     * @returns {Array<Array<number>>} Predicted values
     */
    predict(datas: Array<Array<number>>): Array<Array<number>>;
}
