//#region src/calendar-system/jalaali.d.ts /** * Pure math functions for Gregorian <-> Jalaali (Persian / Solar Hijri) conversion. * * Based on the public-domain algorithm by Kazimierz M. Borkowski and the * jalaali-js implementation (MIT). Zero runtime dependencies. * * The Persian calendar has 12 months: * - Months 1-6 have 31 days * - Months 7-11 have 30 days * - Month 12 has 29 days (30 in a leap year) * * Leap years follow a 2820-year cycle. */ /** * Convert a Gregorian date to a Jalaali (Persian) date. * * @param gy - Gregorian year * @param gm - Gregorian month (1-indexed, 1 = January) * @param gd - Gregorian day * @returns Jalaali `{ jy, jm, jd }` (month is 1-indexed) */ declare function toJalaali(gy: number, gm: number, gd: number): { jy: number; jm: number; jd: number; }; /** * Convert a Jalaali (Persian) date to a Gregorian date. * * @param jy - Jalaali year * @param jm - Jalaali month (1-indexed, 1 = Farvardin) * @param jd - Jalaali day * @returns Gregorian `{ gy, gm, gd }` (month is 1-indexed) */ declare function toGregorian(jy: number, jm: number, jd: number): { gy: number; gm: number; gd: number; }; /** * Check if a Jalaali year is a leap year. * * @param jy - Jalaali year * @returns `true` if the year is a leap year */ declare function isLeapJalaaliYear(jy: number): boolean; /** * Get the number of days in a Jalaali month. * * @param jy - Jalaali year * @param jm - Jalaali month (1-indexed, 1 = Farvardin) * @returns Number of days (29, 30, or 31) */ declare function jalaaliMonthLength(jy: number, jm: number): number; //#endregion export { isLeapJalaaliYear, jalaaliMonthLength, toGregorian, toJalaali };