import { Letters, Sound, Character, MatchedSequence } from '../unit';
export declare class Morph {
}
export declare class Allomorph extends Morph {
    tonal: Tonal;
    toString(): string;
}
export declare class FreeAllomorph extends Allomorph {
}
export declare class CheckedAllomorph extends Allomorph {
    final: Final;
    toString(): string;
}
declare class Affix {
}
export declare class TonalAffix extends Affix {
    tonal: Tonal;
    toString(): string;
}
export declare enum TonalLetterTags {
    a = "a",
    e = "e",
    i = "i",
    o = "o",
    u = "u",
    ur = "ur",
    c = "c",
    ch = "ch",
    j = "j",
    s = "s",
    ph = "ph",
    th = "th",
    kh = "kh",
    m = "m",
    n = "n",
    ng = "ng",
    nn = "nn",
    f = "f",
    w = "w",
    x = "x",
    xx = "xx",
    y = "y",
    z = "z",
    zx = "zx",
    b = "b",
    g = "g",
    l = "l",
    k = "k",
    p = "p",
    t = "t",
    kk = "kk",
    pp = "pp",
    tt = "tt",
    hh = "hh",
    bb = "bb",
    gg = "gg",
    ll = "ll",
    jj = "jj",
    ss = "ss",
    h = "h",
    zero = "zero",
    ea = "ea",
    er = "er",
    ir = "ir",
    or = "or"
}
export declare class TonalLetters extends Letters {
    handleN(characters: Character[], beginOfLetter: number, listLength: number): MatchedSequence;
}
export declare const lowerLettersTonal: TonalLetters;
export declare enum TonalSpellingTags {
    initialConsonant = "initialConsonant",
    vowel = "vowel",
    materLectionis = "materLectionis",
    nasalization = "nasalization",
    stopFinalConsonant = "stopFinalConsonant",
    nasalFinalConsonant = "nasalFinalConsonant",
    checkedTone = "checkedTone",
    freeTone = "freeTone"
}
export declare class Initial extends Sound {
    name: TonalSpellingTags;
}
export declare class Medial extends Sound {
    name: TonalSpellingTags;
}
export declare class Final extends Sound {
    name: string;
}
export declare class Nasalization extends Sound {
    name: TonalSpellingTags;
}
export declare class Tonal extends Sound {
    name: string;
}
export declare class FreeTonal extends Tonal {
    name: TonalSpellingTags;
}
export declare class CheckedTonal extends Tonal {
    name: TonalSpellingTags;
}
export declare class StopFinal extends Final {
    name: TonalSpellingTags;
}
export declare class NasalFinal extends Final {
    name: TonalSpellingTags;
}
export declare class MaterLectionis extends Medial {
    name: TonalSpellingTags;
}
export declare class ZeroTonal extends Tonal {
    characters: never[];
}
export declare class FreeTonalZ extends FreeTonal {
    characters: Character[];
}
export declare class FreeTonalW extends FreeTonal {
    characters: Character[];
}
export declare class FreeTonalF extends FreeTonal {
    characters: Character[];
}
export declare class FreeTonalXX extends FreeTonal {
    characters: Character[];
}
export declare class FreeTonalZX extends FreeTonal {
    characters: Character[];
}
export declare class FreeTonalX extends FreeTonal {
    characters: Character[];
}
export declare class FreeTonalY extends FreeTonal {
    characters: Character[];
}
export declare class CheckedTonalW extends CheckedTonal {
    characters: Character[];
}
export declare class CheckedTonalF extends CheckedTonal {
    characters: Character[];
}
export declare class CheckedTonalX extends CheckedTonal {
    characters: Character[];
}
export declare class CheckedTonalY extends CheckedTonal {
    characters: Character[];
}
export declare class FinalP extends StopFinal {
    characters: Character[];
}
export declare class FinalT extends StopFinal {
    characters: Character[];
}
export declare class FinalK extends StopFinal {
    characters: Character[];
}
export declare class FinalH extends StopFinal {
    characters: Character[];
}
export declare class FinalPP extends StopFinal {
    characters: Character[];
}
export declare class FinalTT extends StopFinal {
    characters: Character[];
}
export declare class FinalKK extends StopFinal {
    characters: Character[];
}
export declare class FinalHH extends StopFinal {
    characters: Character[];
}
export declare const nasalizationsTonal: {
    sounds: Sound[];
    includes(str: string): boolean;
};
export declare const nasalFinalConsonantsTonal: {
    sounds: Sound[];
    includes(str: string): boolean;
};
export declare const neutralFinalConsonantsTonal: {
    sounds: Sound[];
    includes(str: string): boolean;
};
export declare const vowelsTonal: {
    sounds: Sound[];
    includes(str: string): boolean;
};
export declare const materLectionisTonal: {
    sounds: Sound[];
    includes(str: string): boolean;
};
export declare const initialConsonantsTonal: {
    sounds: Sound[];
    includes(str: string): boolean;
};
export declare const freeToneLettersTonal: {
    sounds: Sound[];
    includes(str: string): boolean;
};
export declare const checkedToneLettersTonal: {
    sounds: Sound[];
    includes(str: string): boolean;
};
export declare const finalConsonantsPtkhppttkkhhTonal: {
    sounds: Sound[];
    includes(str: string): boolean;
};
export declare const finalConsonantsBgjklpsTonal: {
    sounds: Sound[];
    includes(str: string): boolean;
};
export declare const finalConsonantsBBggkkllppssTonal: {
    sounds: Sound[];
    includes(str: string): boolean;
};
export declare const tonalPositionalSounds: Map<string, (s: TonalSpellingTags) => Sound>;
export declare class ZeroAllomorph extends FreeAllomorph {
    tonal: ZeroTonal;
}
export declare class AllomorphZ extends FreeAllomorph {
    tonal: FreeTonalZ;
}
export declare class AllomorphY extends FreeAllomorph {
    tonal: FreeTonalY;
}
export declare class AllomorphW extends FreeAllomorph {
    tonal: FreeTonalW;
}
export declare class AllomorphX extends FreeAllomorph {
    tonal: FreeTonalX;
}
export declare const freeAllomorphs: Map<string, Allomorph>;
export declare class AllomorphH extends CheckedAllomorph {
    final: FinalH;
}
export declare class AllomorphHY extends CheckedAllomorph {
    final: FinalH;
    tonal: CheckedTonalY;
}
export declare const checkedAllomorphs: Map<string, Allomorph>;
export declare const combinedFreeAllomorphs: Map<string, Allomorph>;
export declare const uncombinedCheckedAllomorphs: Map<string, Allomorph>;
export declare const combinedCheckedAllomorphs: Map<string, Allomorph[]>;
export declare const freeAllomorphStandaloneRules: Map<string, Tonal[]>;
export declare const standaloneRulesAy: Map<string, Tonal[]>;
export {};
