/**
 * eXtreme Gradient Boosting regression
 */
export class XGBoost {
    /**
     * @param {number} [maxdepth] Maximum depth of tree
     * @param {number} [srate] Sampling rate
     * @param {number} [lambda] Regularization parameter
     * @param {number} [lr] Learning rate
     */
    constructor(maxdepth?: number, srate?: number, lambda?: number, lr?: number);
    _trees: any[];
    _r: any[];
    _maxd: number;
    _srate: number;
    _lambda: number;
    _learning_rate: number;
    /**
     * Number of trees
     * @type {number}
     */
    get size(): number;
    _sample(n: any): number[];
    /**
     * Initialize model.
     * @param {Array<Array<number>>} x Training data
     * @param {Array<Array<number>>} y Target values
     */
    init(x: Array<Array<number>>, y: Array<Array<number>>): void;
    _x: number[][];
    _y: Matrix<number[]>;
    _loss: Matrix<number[]>;
    /**
     * Fit model.
     */
    fit(): void;
    /**
     * Returns predicted values.
     * @param {Array<Array<number>>} x Sample data
     * @returns {Array<Array<number>>} Predicted values
     */
    predict(x: Array<Array<number>>): Array<Array<number>>;
}
/**
 * eXtreme Gradient Boosting classifier
 */
export class XGBoostClassifier extends XGBoost {
    /**
     * Initialize model.
     * @param {Array<Array<number>>} x Training data
     * @param {*[]} y Target values
     */
    init(x: Array<Array<number>>, y: any[]): void;
    _cls: any[];
    /**
     * Returns predicted categories.
     * @param {Array<Array<number>>} x Sample data
     * @returns {*[]} Predicted values
     */
    predict(x: Array<Array<number>>): any[];
}
import Matrix from '../util/matrix.js';
