/**
 * Affinity propagation model
 */
export default class AffinityPropagation {
    _epoch: number;
    _l: number;
    _x: any[];
    _y: any[];
    /**
     * Category list
     * @type {number[]}
     */
    get categories(): number[];
    /**
     * Centroids
     * @type {Array<Array<number>>}
     */
    get centroids(): number[][];
    /**
     * Number of clusters
     * @type {number}
     */
    get size(): number;
    /**
     * Learning epoch
     * @type {number}
     */
    get epoch(): number;
    /**
     * Initialize this model.
     * @param {Array<Array<number>>} datas Training data
     */
    init(datas: Array<Array<number>>): void;
    _r: any[];
    _a: any[];
    _ar: any[];
    _s: any[];
    _as: any[];
    /**
     * Fit this model once.
     */
    fit(): void;
    __fit(): void;
    /**
     * Returns categories corresponding the data.
     * @returns {number[]} Predicted values
     */
    predict(): number[];
}
