import { type Affix } from "../../affix/index.js";
import { type AffixualAdjunctScope } from "./scope.js";
export * from "./scope.js";
/**
 * An affixual adjunct.
 *
 * @example
 *   ;({ affixes: [{ type: 2, degree: 7, cs: "c" }] })
 *
 * @example
 *   ;({
 *     affixes: [{ type: 2, degree: 7, cs: "c" }],
 *     scope: "VII:DOM",
 *     appliesToConcatenatedStemOnly: true,
 *   })
 */
export type AffixualAdjunct = {
    /** The affixes that are part of this adjunct. */
    readonly affixes: readonly [Affix, ...Affix[]];
    /**
     * Scope of first affix. Also controls scope of 2nd and subsequent affixes
     * when `scope2` is omitted.
     *
     * @default "V:DOM"
     */
    readonly scope?: AffixualAdjunctScope | undefined;
    /**
     * Scope of 2nd and subsequent affixes. Defaults to the value of `scope` in
     * this affixual adjunct.
     */
    readonly scope2?: AffixualAdjunctScope | undefined;
    /**
     * `true` if adjunct applies only to concatenated stem. `false` if adjunct
     * applies to formative as a whole.
     *
     * @default false
     */
    readonly appliesToConcatenatedStemOnly?: boolean | undefined;
};
/**
 * Converts an affixual adjunct into Ithkuil.
 *
 * @example
 *   affixualAdjunctToIthkuil({
 *     affixes: [{ type: 2, degree: 7, cs: "c" }],
 *     scope: "VII:DOM",
 *     appliesToConcatenatedStemOnly: true,
 *   })
 *   // "oicé"
 *
 * @param adjunct The affixual adjunct to be converted.
 * @returns Romanized Ithkuilic text representing the affixual adjunct.
 */
export declare function affixualAdjunctToIthkuil(adjunct: AffixualAdjunct): string;
