/** * Hebrew and Aramaic morphology parser for OpenScriptures Hebrew Bible data. * * This parser breaks down Hebrew and Aramaic words into their morphological components: * - Prefixes (prepositions, conjunctions, articles) * - Root (main lemma) * - Suffixes (pronominal, directional, etc.) * * Based on OpenScriptures morphology codes from https://github.com/openscriptures/morphhb * * Hebrew morphology codes start with 'H' (e.g., HR/Ncfsa, HVqp3ms) * Aramaic morphology codes start with 'A' (e.g., ANp, AC/Np, AVqrmsa) */ /** * Prefix information from parsing. */ export interface PrefixInfo { type: string; meaning?: string; codes: string[]; } /** * Root information from parsing. */ export interface RootInfo { lemma: string; partOfSpeech?: string; text: string; } /** * Parsed lemma result. */ export interface ParsedLemma { prefix?: string; root?: string; } /** * Parsed morphology code result. */ export interface ParsedMorphCode { hasPrefix: boolean; prefixType?: string; rootPartOfSpeech?: string; features: Record; language?: 'hebrew' | 'aramaic'; } /** * Word components result. */ export interface WordComponents { prefix?: PrefixInfo; root?: RootInfo; suffix?: unknown; } /** * Word data input for component parsing. */ export interface WordData { text?: string; lemma?: string; morph?: string; } /** * Parse a lemma string to extract prefix and root. * * @param lemmaString - Lemma like "b/7225", "c/853", "430", "c/b/7225" * @returns Object with 'prefix' (combined prefix codes or undefined) and 'root' (Strong's number) * * @example * parseLemma("b/7225") // { prefix: 'b', root: '7225' } * parseLemma("c/b/7225") // { prefix: 'c/b', root: '7225' } * parseLemma("430") // { prefix: undefined, root: '430' } */ export declare function parseLemma(lemmaString: string): ParsedLemma; /** * Parse a Hebrew or Aramaic morphology code to identify structure. * * @param morphCode - Morphology code like "HR/Ncfsa", "HVqp3ms", "HTd/Ncmpa" (Hebrew) * or "ANp", "AC/Np", "AVqrmsa" (Aramaic) * @returns Morphological analysis * * @example * parseMorphCode("HR/Ncfsa") * // { hasPrefix: true, prefixType: 'preposition', language: 'hebrew', ... } * parseMorphCode("ANp") * // { hasPrefix: false, language: 'aramaic', ... } */ export declare function parseMorphCode(morphCode: string): ParsedMorphCode; /** * Combine lemma and morphology parsing to identify word components. * * @param wordData - Object with 'text', 'lemma', and 'morph' keys * @returns Object with 'prefix', 'root', and 'suffix' component information */ export declare function getWordComponents(wordData: WordData): WordComponents; /** * Get the meaning of a prefix code. * * @param prefixCode - Single letter prefix code like 'b', 'c', 'd' * @returns Meaning string or undefined */ export declare function getPrefixMeaning(prefixCode: string): string | undefined; /** * Hebrew morphology parser class (for compatibility with Python API). */ export declare class HebrewMorphologyParser { parseLemma: typeof parseLemma; parseMorphCode: typeof parseMorphCode; getWordComponents: typeof getWordComponents; getPrefixMeaning: typeof getPrefixMeaning; } //# sourceMappingURL=hebrew.d.ts.map