/**
 * Word2Vec
 */
export default class Word2Vec {
    /**
     * @param {'CBOW' | 'skip-gram'} method Method name
     * @param {number} n Number of how many adjacent words to learn
     * @param {number | string[]} wordsOrNumber Initial words or number of words
     * @param {number} reduce_size Reduced dimension
     * @param {string} optimizer Optimizer of the network
     */
    constructor(method: "CBOW" | "skip-gram", n: number, wordsOrNumber: number | string[], reduce_size: number, optimizer: string);
    _words: any[];
    _wordsIdx: {};
    _wordsNumber: number;
    _n: number;
    _method: "CBOW" | "skip-gram";
    _layers: {
        type: string;
        name: string;
    }[];
    _model: NeuralNetwork;
    _epoch: number;
    /**
     * Epoch
     * @type {number}
     */
    get epoch(): number;
    /**
     * Fit model.
     * @param {string[]} words Training data
     * @param {number} iteration Iteration count
     * @param {number} rate Learning rate
     * @param {number} batch Batch size
     * @returns {number} Loss value
     */
    fit(words: string[], iteration: number, rate: number, batch: number): number;
    /**
     * Returns predicted values.
     * @param {string[]} x Sample data
     * @returns {Array<Array<number>>} Predicted values
     */
    predict(x: string[]): Array<Array<number>>;
    /**
     * Returns reduced values.
     * @param {string[]} x Sample data
     * @returns {Array<Array<number>>} Predicted values
     */
    reduce(x: string[]): Array<Array<number>>;
}
import NeuralNetwork from './neuralnetwork.js';
