import { MorphRuleSet } from './types'; import type { Grid3VerbForms } from './grid3VerbsParser'; import type { TDSnapLexiconData, TDSnapLexiconEntry } from './tdsnapLexiconParser'; export declare class MorphologyEngine { private ruleSet; private grid3Verbs?; private tdsnapLexicon?; private cache; getLexiconEntry(word: string): TDSnapLexiconEntry | undefined; constructor(ruleSetOrLocale: string | MorphRuleSet); static fromGrid3Verbs(verbForms: Grid3VerbForms): MorphologyEngine; static fromTDSnapLexicon(lexiconData: TDSnapLexiconData): MorphologyEngine; get locale(): string; inflect(base: string, pos: string): string[]; isFormOf(word: string, base: string, pos: string): boolean; expandVocabulary(buttons: Array<{ label: string; pos?: string; predictions?: string[]; }>): Map; inflectWithSlots(base: string, pos: string): Array<{ slot: string; form: string; }>; private computeForms; private applyRules; /** * Infer the most likely POS for a word by checking the irregular tables. * Returns the POS if found in any irregular table, or null if not found. * Priority: Verb > Noun > Adjective > Pronoun */ inferPOS(word: string): string | null; private loadBundled; }