import { ExpansionContext } from "./expand";
interface MarkovSettings {
    order: number;
    minCharacters: number;
    maxCharacters: number;
    maxTries: number;
    uniqueOutput: boolean;
}
declare class Markov {
    sentences: string[];
    settings: MarkovSettings;
    trainingData?: Map<string, string[]>;
    static get DefaultSettings(): MarkovSettings;
    constructor(sentences: string[], settings?: MarkovSettings);
    setSentences(sentences: string[]): void;
    train(): void;
    generate(context: ExpansionContext): string | undefined;
    _randomElementForKey(key: string, context: ExpansionContext): string;
}
export { Markov, MarkovSettings, };
