/**
 * Normal Herd
 */
export default class NormalHERD {
    /**
     * @param {'full' | 'exact' | 'project' | 'drop'} [type] Method name
     * @param {number} [c] Tradeoff value between passiveness and aggressiveness
     */
    constructor(type?: 'full' | 'exact' | 'project' | 'drop', c?: number);
    _m: Matrix<number>;
    _s: Matrix<number>;
    _c: number;
    _method: "exact" | "drop" | "full" | "project";
    /**
     * Initialize this model.
     * @param {Array<Array<number>>} train_x Training data
     * @param {Array<1 | -1>} train_y Target values
     */
    init(train_x: Array<Array<number>>, train_y: Array<1 | -1>): void;
    _x: Matrix<number[]>;
    _shift: Matrix<number>;
    _y: (1 | -1)[];
    _d: number;
    /**
     * Update model parameters with one data.
     * @param {Matrix} x Training data
     * @param {1 | -1} y Target value
     */
    update(x: Matrix, y: 1 | -1): void;
    /**
     * Fit model parameters.
     */
    fit(): void;
    /**
     * Returns predicted datas.
     * @param {Array<Array<number>>} data Sample data
     * @returns {(1 | -1)[]} Predicted values
     */
    predict(data: Array<Array<number>>): (1 | -1)[];
}
import Matrix from '../util/matrix.js';
