import type { Aff } from "../aff"; import { AffixForm } from "./forms"; import type { LKFlags } from "./lk-flags"; import type { LKWord } from "./lk-word"; export declare const enum AffixType { PREFIX = 0, SUFFIX = 1 } /** * Yields permutations of a word split up (with whitespace) using the * `BREAK` rules given by the spellchecker's {@link Aff} data. * * @param aff - The affix data to use. * @param text - The word/text to split. * @param depth - The current depth of the check. Used by this function * when calling itself recursively. There isn't any need to set it yourself. */ export declare function breakWord(aff: Aff, text: string, depth?: number): Iterable; /** * Takes in a {@link LKWord} and yields a progressive decomposition of the * affixes and stems that can be found in the word. * * @param word - The word to decompose. * @param flags - The {@link LKFlags} that restrain the possible forms of the word. */ export declare function decompose(word: LKWord, flags: LKFlags): Generator;