/**
 * Generative topographic mapping
 */
export default class GTM {
    /**
     * @param {number} input_size Input size
     * @param {number} output_size Output size
     * @param {number} [k] Grid size
     * @param {number} [q] Grid size for basis function
     */
    constructor(input_size: number, output_size: number, k?: number, q?: number);
    in_size: number;
    out_size: number;
    _k: number;
    _lambda: number;
    _w: Matrix<number>;
    _b: number;
    _init_method: string;
    _fit_method: string;
    _epoch: number;
    _z: number[][];
    _t: number[][];
    _make_grid(n: any): number[][];
    _phi(z: any, i?: any, s?: number): any;
    _prob(x: any, z: any): number[];
    /**
     * Returns probabilities.
     * @param {Array<Array<number>>} x Sample data
     * @returns {number[]} Predicted values
     */
    probability(x: Array<Array<number>>): number[];
    /**
     * Returns responsibility.
     * @param {Array<Array<number>>} x Sample data
     * @returns {Matrix} Responsibility
     */
    responsibility(x: Array<Array<number>>): Matrix;
    /**
     * Fit model.
     * @param {Array<Array<number>>} data Training data
     */
    fit(data: Array<Array<number>>): void;
    /**
     * Returns best indexes.
     * @param {Array<Array<number>>} x Sample data
     * @returns {number[]} Predicted values
     */
    predictIndex(x: Array<Array<number>>): number[];
    /**
     * Returns predicted values.
     * @param {Array<Array<number>>} x Sample data
     * @returns {Array<Array<number>>} Predicted values
     */
    predict(x: Array<Array<number>>): Array<Array<number>>;
}
import Matrix from '../util/matrix.js';
