//#region src/calendar-system/hebrew.d.ts /** * Pure math functions for Gregorian <-> Hebrew calendar conversion. * * Based on the Reingold/Dershowitz algorithm from "Calendrical Calculations". * Uses the fixed arithmetic Hebrew calendar with postponement rules (dehiyot). * * Hebrew epoch: Monday, October 7, 3761 BCE (proleptic Gregorian) = 1 Tishrei, Year 1. * * Months (1-indexed): * 1 Tishrei (30), 2 Cheshvan (29-30), 3 Kislev (29-30), 4 Tevet (29), * 5 Shevat (30), 6 Adar/Adar I (30 in leap), 7 Adar II (29, leap only), * 8 Nisan (30), 9 Iyar (29), 10 Sivan (30), 11 Tammuz (29), * 12 Av (30), 13 Elul (29) * * In a common year: 12 months (no Adar II; month 6 = Adar, 29 days). * In a leap year: 13 months (month 6 = Adar I 30 days, month 7 = Adar II 29 days). * * @module */ /** * Hebrew month names (1-indexed by position). */ declare const HEBREW_MONTHS: string[]; /** * Check if a Hebrew year is a leap year (has 13 months). */ declare function isLeapHebrewYear(hy: number): boolean; /** * Number of months in a Hebrew year. */ declare function hebrewMonthsInYear(hy: number): number; /** * Get the total number of days in a Hebrew year. */ declare function hebrewYearLength(hy: number): number; /** * Get the number of days in a Hebrew month. * * @param hy - Hebrew year * @param hm - Hebrew month (1-indexed, 1 = Tishrei, 13 = Elul) */ declare function hebrewMonthLength(hy: number, hm: number): number; /** * Convert a Gregorian date to a Hebrew date. * * @param gy - Gregorian year * @param gm - Gregorian month (1-indexed, 1 = January) * @param gd - Gregorian day * @returns Hebrew year, month (1-indexed), and day */ declare function toHebrew(gy: number, gm: number, gd: number): { hy: number; hm: number; hd: number; }; /** * Convert a Hebrew date to a Gregorian date. * * @param hy - Hebrew year * @param hm - Hebrew month (1-indexed, 1 = Tishrei) * @param hd - Hebrew day * @returns Gregorian year, month (1-indexed), and day */ declare function hebrewToGregorian(hy: number, hm: number, hd: number): { gy: number; gm: number; gd: number; }; //#endregion export { HEBREW_MONTHS, hebrewMonthLength, hebrewMonthsInYear, hebrewToGregorian, hebrewYearLength, isLeapHebrewYear, toHebrew };