/**
 * Projection pursuit regression
 */
export default class ProjectionPursuit {
    /**
     * @param {number} [r] Number of functions
     */
    constructor(r?: number);
    _r: number;
    _w: any[];
    _f: GaussianFunction[];
    /**
     * 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>>;
}
declare class GaussianFunction {
    constructor(m?: number, s?: number, a?: number);
    _m: number;
    _s: number;
    _a: number;
    _e: number;
    calc(v: any): number;
    update(vs: any, d: any): void;
    grad(v: any): number;
}
export {};
