import { GrammaticalCase, GrammaticalGender } from '../language';
export declare abstract class NameInflector {
    /**
     * Inflects the name in the given grammatical case.
     */
    inflect(name: string, gender: GrammaticalGender, grammaticalCase: GrammaticalCase): Promise<string>;
    /**
     * Inflects a single name part of the compound name in a given grammatical case.
     */
    protected abstract inflectNamePart(word: string, gender: GrammaticalGender, grammaticalCase: GrammaticalCase, isLastWord: boolean): Promise<string>;
}
