/**
 * Tightest Perceptron
 */
export default class TightestPerceptron {
    /**
     * @param {number} [b] Budget size
     * @param {'gaussian' | 'polynomial' | { name: 'gaussian', s?: number } | { name: 'polynomial', d?: number } | function (number[], number[]): number} [kernel] Kernel name
     * @param {'zero_one' | 'hinge'} [accuracyLoss] Accuracy loss type name
     */
    constructor(b?: number, kernel?: 'gaussian' | 'polynomial' | {
        name: 'gaussian';
        s?: number;
    } | {
        name: 'polynomial';
        d?: number;
    } | ((arg0: number[], arg1: number[]) => number), accuracyLoss?: 'zero_one' | 'hinge');
    _b: number;
    _kernel: any;
    _accuracyLossP: (y: any) => number;
    _accuracyLossN: (y: any) => number;
    _ap: number;
    _an: number;
    _sv: any[];
    /**
     * Fit model parameters.
     * @param {Array<Array<number>>} x Training data
     * @param {Array<1 | -1>} y Target values
     */
    fit(x: Array<Array<number>>, y: Array<1 | -1>): void;
    _updateSummary(x: any, cp: any, cn: any): void;
    /**
     * Returns predicted values.
     * @param {Array<Array<number>>} data Sample data
     * @returns {(1 | -1)[]} Predicted values
     */
    predict(data: Array<Array<number>>): (1 | -1)[];
}
