import Algorithm from "../Algorithm";
import CorpusIndex from "../index/CorpusIndex";
import Ngram from "../structures/Ngram";
import Prediction from "../structures/Prediction";
/**
 * Determines the likely hood that an n-gram is a phrase.
 */
export default class PhrasePlausibility extends Algorithm {
    /**
     * Calculates the plausibility
     * @param sourceNgram - The source n-gram
     * @param targetNgram - The target n-gram
     * @param sourceNgramFrequency - The source n-gram frequency in the corpus
     * @param targetNgramFrequency - The target n-gram frequency in the corpus
     * @param sourceTokenLength - length of the source text in units of {@link Token}
     * @param targetTokenLength - length of the target text in units of {@link Token}
     */
    static calc(sourceNgram: Ngram, targetNgram: Ngram, sourceNgramFrequency: number, targetNgramFrequency: number, sourceTokenLength: number, targetTokenLength: number): number;
    /**
     * Calculates phrase plausibility based on the word
     * @param p
     * @param cIndex
     */
    private static calcPlausibility;
    /**
     * Calculates phrase plausibility based on the lemma
     * @param p
     * @param cIndex
     */
    private static calcLemmaPlausibility;
    name: string;
    execute(prediction: Prediction, cIndex: CorpusIndex): Prediction;
}
