/**
 * Label spreading
 */
export default class LabelSpreading {
    /**
     * @param {number} [alpha] Clamping factor
     * @param {'rbf' | 'knn'} [method] Method name
     * @param {number} [sigma] Sigma of normal distribution
     * @param {number} [k] Number of neighborhoods
     */
    constructor(alpha?: number, method?: 'rbf' | 'knn', sigma?: number, k?: number);
    _k: number;
    _sigma: number;
    _affinity: "rbf" | "knn";
    _alpha: number;
    _affinity_matrix(x: any): Matrix<number>;
    _laplacian(x: any): Matrix<number>;
    /**
     * Initialize model.
     * @param {Array<Array<number>>} x Training data
     * @param {(* | null)[]} y Target values
     */
    init(x: Array<Array<number>>, y: (any | null)[]): void;
    _y: any[];
    _classes: any[];
    _l: Matrix<number>;
    _probs: any;
    /**
     * Fit model.
     */
    fit(): void;
    /**
     * Returns predicted categories.
     * @returns {*[]} Predicted values
     */
    predict(): any[];
}
import Matrix from '../util/matrix.js';
