/**
 * DENsity CLUstering
 */
export default class DENCLUE {
    /**
     * @param {number} h Smoothing parameter for the kernel
     * @param {1 | 2} [version] Version number
     * @param {'gaussian' | { name: 'gaussian' } | function (number[]): number} [kernel] Kernel name
     */
    constructor(h: number, version?: 1 | 2, kernel?: "gaussian" | {
        name: "gaussian";
    } | ((arg0: number[]) => number));
    _version: 2 | 1;
    _h: number;
    _delta: number;
    _ignore_p: number;
    _xi: number;
    _kernel: (u: any) => number;
    /**
     * Number of clusters
     * @type {number}
     */
    get size(): number;
    /**
     * Initialize model.
     * @param {Array<Array<number>>} datas Training data
     */
    init(datas: Array<Array<number>>): void;
    _datas: number[][];
    _x: number[][];
    _k: any[];
    _radius: any[];
    _probs: number[];
    _p(x: any): number;
    _dp(x: any): number[];
    /**
     * Fit model.
     */
    fit(): void;
    /**
     * Returns predicted categories.
     * @returns {number[]} Predicted values
     */
    predict(): number[];
}
