/**
 * k-prototypes model
 */
export default class KPrototypes {
    /**
     * @param {number} gamma Weight for categorical data
     * @param {boolean[]} categoryPositions Category column position
     */
    constructor(gamma: number, categoryPositions: boolean[]);
    _modes: any[];
    _iscat: boolean[];
    _gamma: number;
    _categories: any[];
    /**
     * Number of clusters.
     * @type {number}
     */
    get size(): number;
    /**
     * Add a new cluster.
     * @param {Array<Array<*>>} datas Training data
     */
    add(datas: Array<Array<any>>): void;
    /**
     * Clear all clusters.
     */
    clear(): void;
    /**
     * Returns predicted categories.
     * @param {Array<Array<*>>} datas Sample data
     * @returns {number[]} Predicted values
     */
    predict(datas: Array<Array<any>>): number[];
    /**
     * Fit model and returns total distance the modes has moved.
     * @param {Array<Array<*>>} datas Training data
     * @returns {number} Total distance the modes has moved
     */
    fit(datas: Array<Array<any>>): number;
}
