import { Aliyah, AliyotMap, Leyning } from './types';
/**
 * Translates an aliyah's book name and verse numbers to the target language.
 * Modifies the aliyah object in place.
 * @param aliyah - The aliyah object to translate
 * @param language - The target language code (e.g., 'he' for Hebrew)
 * @param translateBook - Whether to translate the book name (default true)
 */
export declare function translateAliyah(aliyah: Aliyah, language: string): Aliyah;
/**
 * Translates aliyah(s) - handles single Aliyah, arrays, and AliyotMap.
 * For non-English languages, translates book names and converts verse numbers to Hebrew numerals.
 * Returns a new translated copy, leaving the original unchanged.
 * @param aliyahOrArray - Single Aliyah, array of Aliyah objects, AliyotMap, or undefined
 * @param language - The target language code (e.g., 'he' for Hebrew)
 * @param translateBook - Whether to translate the book name (default true)
 * @returns Translated copy of the input, or undefined if input was undefined
 */
export declare function translateAliyahOrArray<T extends Aliyah | Aliyah[] | AliyotMap>(aliyahOrArray: T, language?: string): T;
/**
 * Translates a Leyning object to the target language.
 * @param leyning - The Leyning object to translate
 * @param language - The target language code (e.g., 'he' for Hebrew)
 * @returns The translated Leyning object
 * @example
 * const leyning: Leyning = {
 *   seph: [{k: 'Genesis', b: '1:1', e: '1:5'}],
 *   haft: [{k: 'Genesis', b: '1:6', e: '1:10'}],
 *   megillah: [{k: 'Genesis', b: '1:11', e: '1:15'}],
 *   fullkriyah: [{k: 'Genesis', b: '1:16', e: '1:20'}],
 * };
 * const translatedLeyning = translateLeyning(leyning, 'he');
 * @todo add reason translation
 */
export declare function translateLeyning(leyning: Leyning, language: string): Leyning;
