/**
 * Semi-supervised naive bayes
 */
export default class SemiSupervisedNaiveBayes {
    /**
     * @param {number} [lambda] Weight applied to the contribution of the unlabeled data
     */
    constructor(lambda?: number);
    _lambda: number;
    _alpha: number;
    /**
     * Initialize model.
     * @param {Array<Array<string>>} datas Training data
     * @param {(* | null)[]} labels Target values
     */
    init(datas: Array<Array<string>>, labels: (any | null)[]): void;
    _labels: any[];
    _vocabulary: any[];
    _labeled_data: {
        w: any[];
        i: any[];
    };
    _unlabeled_data: {
        w: any[];
        i: any[];
    };
    _classes: any[];
    _prob_wc: any[] | number[][];
    _prob_c: any[] | number[];
    /**
     * Fit model.
     */
    fit(): void;
    /**
     * Returns predicted probabilities.
     * @param {Array<Array<string>>} datas Sample data
     * @returns {Array<Array<number>>} Predicted values
     */
    probability(datas: Array<Array<string>>): Array<Array<number>>;
    /**
     * Returns predicted categories.
     * @returns {number} Log likelihood value
     */
    logLikelihood(): number;
    /**
     * Returns predicted categories.
     * @param {Array<Array<string>>} datas Sample data
     * @returns {*[]} Predicted values
     */
    predict(datas: Array<Array<string>>): any[];
}
