/**
 * Neighbourhood components analysis
 */
export default class NeighbourhoodComponentsAnalysis {
    /**
     * @param {number} [d] Reduced dimension
     * @param {number} [lr] Learning rate
     */
    constructor(d?: number, lr?: number);
    _w: Matrix<number>;
    _d: number;
    _lr: number;
    /**
     * Fit model.
     * @param {Array<Array<number>>} x Training data
     * @param {number[]} y Target values
     */
    fit(x: Array<Array<number>>, y: number[]): void;
    /**
     * Returns importances of the features.
     * @returns {number[]} Importances
     */
    importance(): number[];
    /**
     * Returns reduced datas.
     * @param {Array<Array<number>>} x Sample data
     * @returns {Array<Array<number>>} Predicted values
     */
    predict(x: Array<Array<number>>): Array<Array<number>>;
}
import Matrix from '../util/matrix.js';
