/**
 * Partial least squares regression
 */
export default class PLS {
    /**
     * @param {number} l Limit on the number of latent factors
     */
    constructor(l: number);
    _l: number;
    /**
     * Initialize model.
     * @param {Array<Array<number>>} x Training data
     * @param {Array<Array<number>>} y Target values
     */
    init(x: Array<Array<number>>, y: Array<Array<number>>): void;
    _x: Matrix<number[]>;
    _y: Matrix<number[]>;
    /**
     * Fit model.
     */
    fit(): void;
    _pls1(): (number | Matrix<number>)[];
    /**
     * Returns predicted values.
     * @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';
