/**
 * Histogram
 */
export default class Histogram {
    /**
     * @param {object} [config] Config
     * @param {Array<Array<number>>} [config.range] Bin ranges
     * @param {Array<[number, number]>} [config.domain] Domain of each dimension
     * @param {number} [config.size] Bin size
     * @param {number} [config.count] Bin count
     * @param {'fd' | 'scott' | 'rice' | 'sturges' | 'doane' | 'sqrt'} [config.binMethod] Bin method
     */
    constructor(config?: {
        range?: Array<Array<number>>;
        domain?: Array<[number, number]>;
        size?: number;
        count?: number;
        binMethod?: "fd" | "scott" | "rice" | "sturges" | "doane" | "sqrt";
    });
    _config: {
        range?: Array<Array<number>>;
        domain?: Array<[number, number]>;
        size?: number;
        count?: number;
        binMethod?: "fd" | "scott" | "rice" | "sturges" | "doane" | "sqrt";
    };
    /**
     * Returns histogram data.
     * @param {Array<Array<number>>} datas Training data
     * @returns {*[]} Predicted values. An array nested by the number of dimensions of the data
     */
    fit(datas: Array<Array<number>>): any[];
    _size: number;
    _count: number;
    _ranges: number[][];
    _separate_datas: any[];
    _dense: any[];
    /**
     * Returns predicted counted values.
     * @param {Array<Array<number>>} datas Sample data
     * @returns {number[]} Predicted values
     */
    predict(datas: Array<Array<number>>): number[];
}
