/**
 * Mixture discriminant analysis
 */
export default class MixtureDiscriminant {
    /**
     * @param {number} r Number of components
     */
    constructor(r: number);
    _r: number;
    /**
     * Initialize this model.
     * @param {Array<Array<number>>} x Training data
     * @param {*[]} y Target values
     */
    init(x: Array<Array<number>>, y: any[]): void;
    _x: number[][];
    _y: any[];
    _d: number;
    _c: any[];
    _p: Matrix<number>;
    _a: any[];
    _mstep(): void;
    _pi: Matrix<number>;
    _m: any[];
    _s: Matrix<number>;
    _sinv: Matrix<number>;
    /**
     * Fit model.
     */
    fit(): void;
    /**
     * Returns predicted categories.
     * @param {Array<Array<number>>} data Sample data
     * @returns {*[]} Predicted values
     */
    predict(data: Array<Array<number>>): any[];
}
import Matrix from '../util/matrix.js';
