/**
 * Co-training
 */
export default class CoTraining {
    /**
     * @param {object} view1 View
     * @param {function (Array<Array<number>>, *[]): void} view1.fit Fit model
     * @param {function (Array<Array<number>>): Array<{category: *, score: number}>} view1.predict Returns predicted values
     * @param {number} view1.threshold Threshold
     * @param {object} view2 View
     * @param {function (Array<Array<number>>, *[]): void} view2.fit Fir model
     * @param {function (Array<Array<number>>): Array<{category: *, score: number}>} view2.predict Returns predicted values
     * @param {number} view2.threshold Threshold
     */
    constructor(view1: {
        fit: (arg0: Array<Array<number>>, arg1: any[]) => void;
        predict: (arg0: Array<Array<number>>) => Array<{
            category: any;
            score: number;
        }>;
        threshold: number;
    }, view2: {
        fit: (arg0: Array<Array<number>>, arg1: any[]) => void;
        predict: (arg0: Array<Array<number>>) => Array<{
            category: any;
            score: number;
        }>;
        threshold: number;
    });
    _view1: {
        fit: (arg0: Array<Array<number>>, arg1: any[]) => void;
        predict: (arg0: Array<Array<number>>) => Array<{
            category: any;
            score: number;
        }>;
        threshold: number;
    };
    _view2: {
        fit: (arg0: Array<Array<number>>, arg1: any[]) => void;
        predict: (arg0: Array<Array<number>>) => Array<{
            category: any;
            score: number;
        }>;
        threshold: number;
    };
    /**
     * Initialize model.
     * @param {Array<Array<number>>} x Training data
     * @param {(* | null)[]} y Target values
     */
    init(x: Array<Array<number>>, y: (any | null)[]): void;
    _x: number[][];
    _y: any[];
    /**
     * Fit model.
     */
    fit(): void;
    /**
     * Returns predicted categories.
     * @returns {(* | null)[]} Predicted values
     */
    predict(): (any | null)[];
}
