import { LayersModel, Sequential, Tensor } from '@tensorflow/tfjs-node';
import { EncodedPrediction, InputSet, ModelParameters, ModelTemplatesType, OutputSet, TrainingParameters, WordEmbeddingsConfig } from './types';
export declare class ModelManager {
    readonly model: Sequential | LayersModel;
    protected constructor(model: Sequential | LayersModel);
    static fromModel(model: Sequential | LayersModel): ModelManager;
    static fromModelPath(path: string): Promise<ModelManager>;
    static fromModelTemplate(template: ModelTemplatesType, wordEmbeddingsConfig: WordEmbeddingsConfig, parameters: ModelParameters): Promise<ModelManager>;
    train(params: TrainingParameters): Promise<void>;
    predictProbabilities(input: Tensor): EncodedPrediction[];
    predict(input: Tensor): number;
    evaluate(x: InputSet, y: OutputSet): number;
    saveModel(modelDir: string): Promise<void>;
}
