/**
 * Non-negative matrix factorization
 */
export default class NMF {
    /**
     * Initialize model.
     * @param {Array<Array<number>>} x Training data
     * @param {number} [rd] Reduced dimension
     */
    init(x: Array<Array<number>>, rd?: number): void;
    _x: Matrix<number[]>;
    _r: number;
    _W: Matrix<number>;
    _H: Matrix<number>;
    /**
     * Fit model.
     */
    fit(): void;
    /**
     * Returns reduced datas.
     * @returns {Array<Array<number>>} Predicted values
     */
    predict(): Array<Array<number>>;
}
import Matrix from '../util/matrix.js';
