/**
 * Elastic net
 */
export default class ElasticNet {
    /**
     * @param {number} [lambda] Regularization strength
     * @param {number} [alpha] Mixing parameter
     * @param {'ISTA' | 'CD'} [method] Method name
     */
    constructor(lambda?: number, alpha?: number, method?: "ISTA" | "CD");
    _w: any;
    _method: "ISTA" | "CD";
    _lambda: number;
    _alpha: number;
    _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;
    /**
     * 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[];
}
