import type { Word } from "../dic/word"; export declare class NgramSuggestionBuilder { /** The misspelling that suggestions are being built for. */ private misspelling; /** A set of already known suggestions that should be skipped. */ private known; /** * Sets the similarity factor. * * - `5`: The default value. * - `0`: Fewer ngram suggestions, but always at least one. * - `10`: Maximum value, yields `MAXNGRAMSUGS` number of suggestions. */ private maxDiff; /** * If true, all bad ngram suggestions will be removed, rather than * keeping at least one. */ private onlyMaxDiff; /** * Produces less suggestions if true, so that phonetic suggestion * system isn't skipped due to a large amount of ngram suggestions. */ private hasPhonetic; /** The "root" scores for potential suggestions for a misspelling. */ private roots; constructor( /** The misspelling that suggestions are being built for. */ misspelling: string, /** A set of already known suggestions that should be skipped. */ known: Set, /** * Sets the similarity factor. * * - `5`: The default value. * - `0`: Fewer ngram suggestions, but always at least one. * - `10`: Maximum value, yields `MAXNGRAMSUGS` number of suggestions. */ maxDiff: number, /** * If true, all bad ngram suggestions will be removed, rather than * keeping at least one. */ onlyMaxDiff?: boolean, /** * Produces less suggestions if true, so that phonetic suggestion * system isn't skipped due to a large amount of ngram suggestions. */ hasPhonetic?: boolean); /** * Steps the builder forward by providing another {@link Word} to process. * * @param word - The {@link Word} to process. */ step(word: Word): void; /** Finishes the builder and yields the resulting suggestions (as strings). */ finish(): Generator; /** * Filters out terrible guesses based on their score or if they were already known. * * @param guesses - A list of tuples, containing a score and guess, in that order. */ private filterGuesses; }