/**
 * Least absolute shrinkage and selection operator
 */
export default class Lasso {
    /**
     * @param {number} [lambda] Regularization strength
     * @param {'CD' | 'ISTA' | 'LARS'} [method] Method name
     */
    constructor(lambda?: number, method?: "CD" | "ISTA" | "LARS");
    _w: any;
    _lambda: number;
    _method: "ISTA" | "CD" | "LARS";
    _soft_thresholding(x: any, l: any): void;
    _calc_b0(x: any, y: any): void;
    /**
     * Fit model.
     * @param {Array<Array<number>>} x Training data
     * @param {Array<Array<number>>} y Target values
     */
    fit(x: Array<Array<number>>, y: Array<Array<number>>): void;
    _ista(x: any, y: any): void;
    _cd(x: any, y: any): void;
    _lars(x: any, y: any): void;
    /**
     * Returns predicted values.
     * @param {Array<Array<number>>} x Sample data
     * @returns {Array<Array<number>>} Predicted values
     */
    predict(x: Array<Array<number>>): Array<Array<number>>;
    /**
     * Returns importances of the features.
     * @returns {number[]} Importances
     */
    importance(): number[];
}
