// auto-generated by elc --emit-header — do not edit extern fn uga_str_ends(s: String, suf: String) -> Bool extern fn uga_str_len(s: String) -> Int extern fn uga_str_drop_last(s: String, n: Int) -> String extern fn uga_slot(person: String, number: String) -> Int extern fn uga_slot_g(person: String, gender: String, number: String) -> Int extern fn uga_kn_perfect(slot: Int) -> String extern fn uga_kn_imperfect(slot: Int) -> String extern fn uga_is_copula(verb: String) -> Bool extern fn uga_conjugate_copula(tense: String, slot: Int) -> String extern fn uga_hlk_perfect(slot: Int) -> String extern fn uga_hlk_imperfect(slot: Int) -> String extern fn uga_ray_perfect(slot: Int) -> String extern fn uga_ray_imperfect(slot: Int) -> String extern fn uga_amr_perfect(slot: Int) -> String extern fn uga_amr_imperfect(slot: Int) -> String extern fn uga_generic_perfect(base3sg: String, slot: Int) -> String extern fn uga_generic_imperfect(base3sg: String, slot: Int) -> String extern fn uga_known_verb(verb: String, tense: String, slot: Int) -> String extern fn uga_conjugate(verb: String, tense: String, person: String, number: String) -> String extern fn uga_strip_nom(noun: String) -> String extern fn uga_is_fem(noun: String) -> Bool extern fn uga_decline(noun: String, gram_case: String, number: String) -> String extern fn uga_noun_phrase(noun: String, gram_case: String, number: String, definite: String) -> String extern fn uga_map_canonical(verb: String) -> String