/**
 * Partitioning Around Medoids
 */
export default class PAM {
    /**
     * @param {number} k Number of clusters
     */
    constructor(k: number);
    _k: number;
    _distance(a: any, b: any): number;
    _argmin(arr: any): number;
    _cost(centroids: any): number;
    /**
     * Initialize model.
     * @param {Array<Array<number>>} datas Training data
     */
    init(datas: Array<Array<number>>): void;
    _x: number[][];
    _centroids: number[];
    /**
     * Fit model and returns true if any centroids has moved.
     * @returns {boolean} `true` if any centroids has moved
     */
    fit(): boolean;
    /**
     * Returns predicted categories.
     * @returns {number[]} Predicted values
     */
    predict(): number[];
}
