/**
 * Conditional random fields
 */
export default class CRF {
    _xn: number;
    _yn: number;
    _w: number[];
    _e: number;
    _x_cand: any[];
    _y_cand: any[];
    _phi: (x: any, y1: any, y0: any) => any[];
    _psi(x: any, y1: any, y0: any): number;
    _alpha(x: any, scaled?: boolean): any[][];
    _beta(x: any, scaled?: boolean): any[][];
    _z(x: any): any;
    _p(x: any, scaled?: boolean): any[][];
    /**
     * Fit model.
     * @param {Array<Array<*>>} x Training data
     * @param {Array<Array<*>>} y Target values
     */
    fit(x: Array<Array<any>>, y: Array<Array<any>>): void;
    /**
     * Returns probability P(y|x).
     * @param {*[]} x Sample data
     * @param {*[]} y Target values
     * @returns {number} Predicted values
     */
    probability(x: any[], y: any[]): number;
    /**
     * Returns predicted labels.
     * @param {Array<Array<*>>} x Sample data
     * @returns {Array<Array<*>>} Predicted values
     */
    predict(x: Array<Array<any>>): Array<Array<any>>;
}
