/**
 * Extra trees classifier
 */
export class ExtraTreesClassifier extends ExtraTrees {
    /**
     * Returns predicted values.
     * @param {Array<Array<number>>} datas Sample data
     * @returns {*[]} Predicted values
     */
    predict(datas: Array<Array<number>>): any[];
}
/**
 * Extra trees regressor
 */
export class ExtraTreesRegressor extends ExtraTrees {
    /**
     * Returns predicted values.
     * @param {Array<Array<number>>} datas Sample data
     * @returns {number[]} Predicted values
     */
    predict(datas: Array<Array<number>>): number[];
}
/**
 * Bsae class for Extremely Randomized Trees
 */
declare class ExtraTrees {
    /**
     * @param {number} tree_num Number of trees
     * @param {number} [sampling_rate] Sampling rate
     */
    constructor(tree_num: number, sampling_rate?: number);
    _samplingRate: number;
    _trees: {
        data: any;
        target: any;
        children: any[];
    }[];
    _depth: number;
    /**
     * The max depth among the trees.
     * @type {number}
     */
    get depth(): number;
    _sample(n: any): number[];
    /**
     * Initialize model.
     * @param {Array<Array<number>>} datas Training data
     * @param {*[]} targets Target values
     */
    init(datas: Array<Array<number>>, targets: any[]): void;
    /**
     * Fit model.
     */
    fit(): void;
    _predict_leafs(datas: any): any;
}
export {};
