import SentenceSimilarity from "../domain/SentenceSimilarity";
import TextParser from "../domain/TextParser";
import Text from "../domain/Text";
export interface SummarizerConfig {
    getSimilarityFunction(): SentenceSimilarity;
    getSentenceCount(text: Text): number;
    getTextParser(): TextParser;
    getDampingFactor(): number;
    getSortMode(): number;
}
/**
 * Absolute count config
 */
export declare class AbsoluteSummarizerConfig implements SummarizerConfig {
    private readonly sentenceCount;
    private readonly similarity;
    private readonly parser;
    private readonly dampingFactor;
    private readonly sortMode;
    constructor(sentenceCount: number, similarity: SentenceSimilarity, parser: TextParser, dampingFactor: number, sortMode: number);
    private validate;
    getSortMode(): number;
    getDampingFactor(): number;
    getTextParser(): TextParser;
    getSimilarityFunction(): SentenceSimilarity;
    getSentenceCount(text: Text): number;
}
export declare class RelativeSummarizerConfig implements SummarizerConfig {
    private readonly sentenceRatio;
    private readonly similarity;
    private readonly parser;
    private readonly dampingFactor;
    private readonly sortMode;
    constructor(sentenceRatio: number, similarity: SentenceSimilarity, parser: TextParser, dampingFactor: number, sortMode: number);
    private validate;
    getSortMode(): number;
    private calculateSentenceCount;
    getTextParser(): TextParser;
    getSimilarityFunction(): SentenceSimilarity;
    getSentenceCount(text: Text): number;
    getDampingFactor(): number;
}
