/**
 * Metropolis-Hastings algorithm
 */
export default class MetropolisHastings {
    /**
     * @param {function (number[]): number} targetFunc Target distribution
     * @param {number} d Output size
     * @param {'gaussian'} [q] Proposal density name
     */
    constructor(targetFunc: (arg0: number[]) => number, d: number, q?: 'gaussian');
    _f: (arg0: number[]) => number;
    _d: number;
    _q: (x: any, y: any) => number;
    /**
     * Returns sampled values.
     * @param {number} n Number of generated data
     * @param {number} [t] Iteration count for each generation
     * @returns {Array<Array<number>>} Generated values
     */
    sample(n: number, t?: number): Array<Array<number>>;
}
