import { TonalInflectionLexeme, TonalInsertionLexeme, TonalUninsertionLexeme, TonalUninfectionLexeme, TonalInfectionLexeme, TonalMutationLexeme, TonalUnmutationLexeme } from './lexeme';
import { Phraseme } from '../unit';
import { TonalPhrase } from '../unchange/unit';
import { TonalPhrasalInflectionMetaplasm, TonalPhrasalInsertionMetaplasm, TonalPhrasalUninsertionMetaplasm, TonalPhrasalUninfectionMetaplasm, TonalPhrasalInfectionMetaplasm, TonalPhrasalMutationMetaplasm, TonalPhrasalUnmutationMetaplasm, TonalPhrasalInflectionVppMetaplasm } from '../metaplasm';
/** A phrase of length 2 and its inflected forms. */
export declare class PhrasalVerbPhraseme extends Phraseme {
    /** Verb + particle */
    phrase: TonalPhrase;
    private forms;
    constructor(verb: TonalInflectionLexeme, particle: TonalInflectionLexeme, metaplasm: TonalPhrasalInflectionMetaplasm);
    /** Returns proceeding forms or participle forms */
    getForms(): TonalPhrase[];
}
/** A phrase of length 3 and its inflected forms. */
export declare class PhrasalVerbVppPhraseme extends Phraseme {
    /** Verb + particle + particle */
    phrase: TonalPhrase;
    private forms;
    constructor(verb: TonalInflectionLexeme, particle: TonalInflectionLexeme, particleTwo: TonalInflectionLexeme, metaplasm: TonalPhrasalInflectionVppMetaplasm);
    /** Returns proceeding forms, participle forms, or transitive forms. */
    getForms(): TonalPhrase[];
}
/** A compound. */
export declare class TonalCompoundPhraseme extends Phraseme {
    /** Preceding word is inflected while following word is not. */
    phrase: TonalPhrase;
    /** Separable phrasal verb. Separate compound verb. Separable verb. Thiapwsux gifchongwguy. Tiapwsux gifsiannzguy. Adverb + verb. Prepositional verb. */
    constructor(preceding: TonalInflectionLexeme, following: TonalInflectionLexeme);
}
/** A phrase and its inflected forms. */
export declare class TonalMainParticlePhraseme extends Phraseme {
    /** Main word and its particle. */
    phrase: TonalPhrase;
    private forms;
    /** E-adjective. Le form. Terminal form of possesive case. */
    constructor(main: TonalInflectionLexeme, particle: TonalInflectionLexeme, metaplasm: TonalPhrasalInflectionMetaplasm);
    /** Returns adnominal forms or conjunctive forms. */
    getForms(): TonalPhrase[];
}
/** A phrase and its proceeding forms. */
export declare class SerialPhraseme extends Phraseme {
    /** A series of words that are inflected except for the last one. */
    phrase: TonalPhrase;
    private forms;
    /** A series of lexemes. */
    constructor(lexemes: TonalInflectionLexeme[]);
    /** Returna a series of inflected words. */
    getForms(): TonalPhrase[];
}
export declare class TonalInflectionPhrasemeMaker {
    makePhrasalVerbPhraseme(verb: TonalInflectionLexeme, particle: TonalInflectionLexeme): PhrasalVerbPhraseme;
    makePhrasalVerbVppPhraseme(verb: TonalInflectionLexeme, particle: TonalInflectionLexeme, particleTwo: TonalInflectionLexeme): PhrasalVerbVppPhraseme;
    makeTransitiveVppPhraseme(verb: TonalInflectionLexeme, particle: TonalInflectionLexeme, particleTwo: TonalInflectionLexeme): PhrasalVerbVppPhraseme;
    makeCompoundPhraseme(preceding: TonalInflectionLexeme, following: TonalInflectionLexeme): TonalCompoundPhraseme;
    makeAdjectivePhraseme(adjectivalNoun: TonalInflectionLexeme, e: TonalInflectionLexeme): TonalMainParticlePhraseme;
    makeConjunctivePhraseme(verb: TonalInflectionLexeme, le: TonalInflectionLexeme): TonalMainParticlePhraseme;
    makePossesivePhraseme(noun: TonalInflectionLexeme, ex: TonalInflectionLexeme): TonalMainParticlePhraseme;
    makeParticiplePhraseme(verb: TonalInflectionLexeme, particle: TonalInflectionLexeme): PhrasalVerbPhraseme;
    makeVppParticiplePhraseme(verb: TonalInflectionLexeme, particle: TonalInflectionLexeme, particleTwo: TonalInflectionLexeme): PhrasalVerbVppPhraseme;
    makeSerialPhraseme(lexemes: TonalInflectionLexeme[]): SerialPhraseme;
}
export declare class TonalInsertionPhraseme implements Phraseme {
    phrase: TonalPhrase;
    private forms;
    constructor(preceding: TonalInsertionLexeme, following: TonalInsertionLexeme, metaplasm: TonalPhrasalInsertionMetaplasm);
    /** Returns inserted forms. */
    getForms(): TonalPhrase[];
}
export declare class TonalInsertionPhrasemeMaker {
    makePhraseme(preceding: TonalInsertionLexeme, following: TonalInsertionLexeme, metaplasm: TonalPhrasalInsertionMetaplasm): TonalInsertionPhraseme;
}
export declare class TonalUninsertionPhraseme implements Phraseme {
    phrase: TonalPhrase;
    private forms;
    constructor(preceding: TonalUninsertionLexeme, following: TonalUninsertionLexeme, metaplasm: TonalPhrasalUninsertionMetaplasm);
    /** Returns uninserted forms. */
    getForms(): TonalPhrase[];
}
export declare class TonalUninsertionPhrasemeMaker {
    makePhraseme(preceding: TonalUninsertionLexeme, following: TonalUninsertionLexeme, metaplasm: TonalPhrasalUninsertionMetaplasm): TonalUninsertionPhraseme;
}
export declare class TonalInfectionPhraseme implements Phraseme {
    phrase: TonalPhrase;
    private forms;
    constructor(preceding: TonalInfectionLexeme, following: TonalInfectionLexeme, metaplasm: TonalPhrasalInfectionMetaplasm);
    /** Returns infected forms. */
    getForms(): TonalPhrase[];
}
export declare class TonalInfectionPhrasemeMaker {
    makePhraseme(preceding: TonalInfectionLexeme, following: TonalInfectionLexeme, metaplasm: TonalPhrasalInfectionMetaplasm): TonalInfectionPhraseme;
}
export declare class TonalUninfectionPhraseme implements Phraseme {
    phrase: TonalPhrase;
    private forms;
    constructor(preceding: TonalUninfectionLexeme, following: TonalUninfectionLexeme, metaplasm: TonalPhrasalUninfectionMetaplasm);
    /** Returns uninfected forms. */
    getForms(): TonalPhrase[];
}
export declare class TonalUninfectionPhrasemeMaker {
    makePhraseme(preceding: TonalUninfectionLexeme, following: TonalUninfectionLexeme, metaplasm: TonalPhrasalUninfectionMetaplasm): TonalUninfectionPhraseme;
}
/** A phrase and its mutated form. */
export declare class TonalMutationPhraseme implements Phraseme {
    phrase: TonalPhrase;
    private forms;
    constructor(preceding: TonalMutationLexeme, following: TonalMutationLexeme, metaplasm: TonalPhrasalMutationMetaplasm);
    /** Returns mutated forms. */
    getForms(): TonalPhrase[];
}
export declare class TonalMutationPhrasemeMaker {
    makePhraseme(preceding: TonalMutationLexeme, following: TonalMutationLexeme, metaplasm: TonalPhrasalMutationMetaplasm): TonalMutationPhraseme;
}
/** A phrase and its unmutated form. */
export declare class TonalUnmutationPhraseme implements Phraseme {
    phrase: TonalPhrase;
    private forms;
    constructor(preceding: TonalUnmutationLexeme, following: TonalUnmutationLexeme, metaplasm: TonalPhrasalUnmutationMetaplasm);
    /** Returns unmutated forms. */
    getForms(): TonalPhrase[];
}
export declare class TonalUnmutationPhrasemeMaker {
    makePhraseme(preceding: TonalUnmutationLexeme, following: TonalUnmutationLexeme, metaplasm: TonalPhrasalUnmutationMetaplasm): TonalUnmutationPhraseme;
}
