import { Normalizer, Stemmer, Tokenizer, DecodedPrediction, Language, WordEmbeddingType, WordEmbeddingDimension } from './types';
export declare class BotonicNLU {
    private _preprocessor;
    private _modelManager;
    private _intentsProcessor;
    private _dataReader;
    private _data;
    private _trainSet;
    private _testSet;
    constructor();
    set normalizer(value: Normalizer);
    set stemmer(value: Stemmer);
    set tokenizer(value: Tokenizer);
    loadModelData(modelDataPath: string): void;
    loadModel(modelPath: string): Promise<void>;
    predict(sentence: string): string;
    predictProbabilities(sentence: string): DecodedPrediction;
    loadFromUtterances(path?: string): void;
    loadData(path: string, language: Language, maxSeqLen: number): void;
    splitData(testPercentage?: number): void;
    createModel(learningRate: number, wordEmbeddingsType?: WordEmbeddingType, wordEmbeddingsDimension?: WordEmbeddingDimension, trainableEmbeddings?: boolean): Promise<void>;
    train(epochs: number, batchSize: number, validationSplit?: number): Promise<void>;
    evaluate(): number;
    private _splitInputOutput;
    saveModel(): Promise<void>;
}
