import { VM } from 'vm2';
interface Training {
    state: boolean;
    data: string;
}
interface BotResponse {
    action: string;
    body: string;
}
declare class Bot {
    name: string;
    greeting: string;
    defaultResponse: BotResponse;
    training: Training;
    factory: VM;
    constructor(name: string, greeting: string, trainingSet: string, defaultResponse: string);
    greet(token: string): string;
    render(statement: string, token: string): string;
    addUser(token: string, name: string): void;
    getUser(token: string): string;
    respond(query: string, token: string): Promise<BotResponse>;
    train(): any;
}
export default Bot;
