import { Word, Syllable, AlphabeticLetter } from '../unit';
import { Allomorph } from '../tonal/tonalres';
import { TonalAffix } from '../tonal/tonalres';
import { Phrase } from '../unit';
export declare class TonalSyllable extends Syllable {
    popLetter(): void;
    get lastLetter(): AlphabeticLetter;
    get lastSecondLetter(): AlphabeticLetter;
}
declare class Ending {
}
export declare class InflectionalEnding extends Ending {
    affix: TonalAffix;
    toString(): string;
}
export declare class FreeInflectionalEnding extends InflectionalEnding {
}
export declare class CheckedInflectionalEnding extends InflectionalEnding {
}
export declare class AllomorphicEnding extends Ending {
    allomorph: Allomorph;
    toString(): string;
}
export declare class FreeAllomorphicEnding extends AllomorphicEnding {
}
export declare class CheckedAllomorphicEnding extends AllomorphicEnding {
}
/** A word made of syllables. */
export declare class TonalWord extends Word {
    syllables: Array<TonalSyllable>;
    constructor(syllables: Array<TonalSyllable>);
    popSyllable(): void;
    pushSyllable(syllable: TonalSyllable): void;
    shiftSyllable(): TonalSyllable | undefined;
    unshiftSyllable(syllable: TonalSyllable): number;
    replaceSyllable(i: number, syllable: TonalSyllable): void;
    private concat;
}
/** A phrase made of words. */
export declare class TonalPhrase extends Phrase {
    words: Array<TonalWord>;
    constructor(words: Array<TonalWord>);
    popWord(): void;
    pushWord(w: TonalWord): void;
    private concat;
}
export {};
