import { TonalCombiningMetaplasm } from './metaplasm';
import { Morpheme, MatchedPattern, AlphabeticLetter, Lexeme } from './unit';
export declare abstract class MorphemeMaker {
    protected abstract createArray(): Morpheme[];
    protected abstract createMorpheme(matched: MatchedPattern, metaplasm: TonalCombiningMetaplasm): Morpheme;
    protected make(letters: Array<AlphabeticLetter>, syllabify: (letters: Array<AlphabeticLetter>, beginOfSyllable: number) => MatchedPattern): MatchedPattern[];
}
export declare abstract class LexemeMaker {
    protected abstract make(ms: Array<Morpheme>): Lexeme;
}
