/**
 * Variational Gaussian Mixture Model
 */
export default class VBGMM {
    /**
     * @param {number} a Tuning parameter
     * @param {number} b Tuning parameter
     * @param {number} k Initial number of clusters
     */
    constructor(a: number, b: number, k: number);
    _a0: number;
    _b0: number;
    _k: number;
    /**
     * Means
     * @type {Matrix}
     */
    get means(): Matrix;
    /**
     * Covariances
     * @type {Matrix[]}
     */
    get covs(): Matrix[];
    /**
     * Effectivity
     * @type {boolean[]}
     */
    get effectivity(): boolean[];
    /**
     * Initialize model.
     * @param {Array<Array<number>>} datas Training data
     */
    init(datas: Array<Array<number>>): void;
    _x: Matrix<number[]>;
    _m0: Matrix<number>;
    _w0: Matrix<number>;
    _nu0: number;
    _r: any;
    _digamma(z: any): any;
    _bernoulli(n: any): number;
    /**
     * Fit model.
     */
    fit(): void;
    _p: Matrix<number>;
    _m: Matrix<number>;
    _w: any[];
    _nu: Matrix<number>;
    /**
     * Returns probability of the datas.
     * @param {Array<Array<number>>} data Sample data
     * @returns {Matrix} Predicted values
     */
    probability(data: Array<Array<number>>): Matrix;
    /**
     * Returns predicted categories.
     * @param {Array<Array<number>>} data Sample data
     * @returns {number[]} Predicted values
     */
    predict(data: Array<Array<number>>): number[];
}
import Matrix from '../util/matrix.js';
