/**
 * Bayesian Network
 */
export default class BayesianNetwork {
    /**
     * @param {number} alpha Equivalent sample size
     */
    constructor(alpha: number);
    _th: ArrayKeyMap[];
    _graph: any[];
    _alpha: number;
    _ess: number;
    _n: number;
    _cand: any[];
    _score_method: string;
    /**
     * Fit model.
     * @param {Array<Array<*>>} x Training data
     */
    fit(x: Array<Array<any>>): void;
    _fitStructure(x: any): void;
    _fitStructure_dp(x: any): void;
    _score(x: any, graph?: any[], cand?: any[]): number;
    _bdeu(x: any, graph?: any[], cand?: any[], exact?: boolean): number;
    _logBDeu_exact(x: any, graph?: any[], cand?: any[]): number;
    _logBDeu_appro(x: any, graph?: any[], cand?: any[]): number;
    _fitParameter(x: any): void;
    _count(x: any, graph?: any[], cand?: any[]): ArrayKeyMap[];
    /**
     * Returns probability values.
     * @param {Array<Array<*>>} x Sample data
     * @returns {number[]} Predicted values
     */
    probability(x: Array<Array<any>>): number[];
}
declare class ArrayKeyMap {
    _map: Map<any, any>;
    get size(): number;
    _getKey(key: any): any;
    keys(): MapIterator<any>;
    has(key: any): boolean;
    get(key: any): any;
    set(key: any, value: any): Map<any, any>;
}
export {};
