import { TonalStandaloneMetaplasm } from '../metaplasm';
import { TonalSyllable, TonalWord, InflectionalEnding } from './unit';
import { TonalStandaloneMorpheme } from './morpheme';
import { Allomorph } from '../tonal/tonalres';
import { Sound } from '../unit';
import { TonalLemmatizationMetaplasm } from '../metaplasm';
/** Returns the standalone forms of a syllable. */
export declare class TonalStandaloneForms extends TonalStandaloneMetaplasm {
    private soundsFollowing;
    constructor(soundsFollowing: Sound[]);
    private handleAssimilatedFinal;
    apply(sounds: Array<Sound>, allomorph: Allomorph): TonalSyllable[];
}
/** Returns the standalone forms of a phrasl verb particle syllable. */
export declare class PhrasalVerbParticleStandalone extends TonalStandaloneMetaplasm {
    apply(sounds: Array<Sound>, allomorph: Allomorph): TonalSyllable[];
}
/** Returns the standalone forms of the syllable preceding ay */
export declare class PrecedingAyStandalone extends TonalStandaloneMetaplasm {
    private getStandaloneForms;
    apply(sounds: Array<Sound>, allomorph: Allomorph): TonalSyllable[];
}
/** Returns the standalone forms of the syllable preceding ex */
export declare class PrecedingExStandalone extends TonalStandaloneMetaplasm {
    private handleAssimilatedFinal;
    apply(sounds: Array<Sound>, allomorph: Allomorph): TonalSyllable[];
}
/** Returns the last syllable of a double or triple construction as an standalone form. */
export declare class LastSyllableForms extends TonalStandaloneMetaplasm {
    private lettersLastSyllable;
    constructor(lettersLastSyllable: Sound[]);
    apply(sounds: Array<Sound>, allomorph: Allomorph): TonalSyllable[];
}
/** Returns the standalone forms of a transfix inflected syllable. */
export declare class TransfixStandalone extends TonalStandaloneMetaplasm {
    apply(sounds: Array<Sound>, allomorph: Allomorph): TonalSyllable[];
}
/** Change ~ietf or ietw to ~ek or ~ekk. */
export declare class StandaloneFormsIetfIetwToEkEkk extends TonalStandaloneMetaplasm {
    apply(sounds: Array<Sound>, allomorph: Allomorph): TonalSyllable[];
}
/** Lemmatizes a word and returns its base forms. */
export declare class TonalLemmatization extends TonalLemmatizationMetaplasm {
    apply(morphemes: Array<TonalStandaloneMorpheme>, inflectionalEnding: InflectionalEnding): TonalWord[];
    private getLemmas;
    private populateLemmata;
}
