/**
 * Hebrew months of the year (NISAN=1, TISHREI=7)
 * @readonly
 * @enum {number}
 */
export declare const months: {
    /** Nissan / ניסן */
    readonly NISAN: 1;
    /** Iyyar / אייר */
    readonly IYYAR: 2;
    /** Sivan / סיון */
    readonly SIVAN: 3;
    /** Tamuz (sometimes Tammuz) / תמוז */
    readonly TAMUZ: 4;
    /** Av / אב */
    readonly AV: 5;
    /** Elul / אלול */
    readonly ELUL: 6;
    /** Tishrei / תִּשְׁרֵי */
    readonly TISHREI: 7;
    /** Cheshvan / חשון */
    readonly CHESHVAN: 8;
    /** Kislev / כסלו */
    readonly KISLEV: 9;
    /** Tevet / טבת */
    readonly TEVET: 10;
    /** Sh'vat / שבט */
    readonly SHVAT: 11;
    /** Adar or Adar Rishon / אדר */
    readonly ADAR_I: 12;
    /** Adar Sheini (only on leap years) / אדר ב׳ */
    readonly ADAR_II: 13;
};
/** Transliterated Hebrew month names. */
export type MonthName = 'Nisan' | 'Iyyar' | 'Sivan' | 'Tamuz' | 'Av' | 'Elul' | 'Tishrei' | 'Cheshvan' | 'Kislev' | 'Tevet' | "Sh'vat" | 'Adar' | 'Adar I' | 'Adar II';
/**
 * Converts Hebrew date to R.D. (Rata Die) fixed days.
 * R.D. 1 is the imaginary date Monday, January 1, 1 on the Gregorian
 * Calendar.
 * @param year Hebrew year
 * @param month Hebrew month
 * @param day Hebrew date (1-30)
 * @example
 * const abs = hebrew2abs(5769, months.CHESHVAN, 15);
 */
export declare function hebrew2abs(year: number, month: number, day: number): number;
/**
 * Converts Hebrew date to R.D. (Rata Die) fixed days.
 * R.D. 1 is the imaginary date Monday, January 1, 1 on the Gregorian
 * Calendar.
 */
export declare function hd2abs(hdate: SimpleHebrewDate): number;
export type SimpleHebrewDate = {
    /** Hebrew year */
    yy: number;
    /** Hebrew month of year (1=NISAN, 7=TISHREI) */
    mm: number;
    /** Day of month (1-30) */
    dd: number;
};
/**
 * Converts absolute R.D. days to Hebrew date
 * @param abs absolute R.D. days
 */
export declare function abs2hebrew(abs: number): SimpleHebrewDate;
/**
 * Returns true if Hebrew year is a leap year
 * @param year Hebrew year
 */
export declare function isLeapYear(year: number): boolean;
/**
 * Number of months in this Hebrew year (either 12 or 13 depending on leap year)
 * @param year Hebrew year
 */
export declare function monthsInYear(year: number): number;
/**
 * Number of days in Hebrew month in a given year (29 or 30)
 * @param month Hebrew month (e.g. months.TISHREI)
 * @param year Hebrew year
 */
export declare function daysInMonth(month: number, year: number): number;
/**
 * Returns a transliterated string name of Hebrew month in year,
 * for example 'Elul' or 'Cheshvan'.
 * @param month Hebrew month (e.g. months.TISHREI)
 * @param year Hebrew year
 */
export declare function getMonthName(month: number, year: number): MonthName;
/**
 * Days from sunday prior to start of Hebrew calendar to mean
 * conjunction of Tishrei in Hebrew YEAR
 * @param year Hebrew year
 */
export declare function elapsedDays(year: number): number;
/**
 * Number of days in the hebrew YEAR.
 * A common Hebrew calendar year can have a length of 353, 354 or 355 days
 * A leap Hebrew calendar year can have a length of 383, 384 or 385 days
 * @param year Hebrew year
 */
export declare function daysInYear(year: number): number;
/**
 * true if Cheshvan is long in Hebrew year
 * @param year Hebrew year
 */
export declare function longCheshvan(year: number): boolean;
/**
 * true if Kislev is short in Hebrew year
 * @param year Hebrew year
 */
export declare function shortKislev(year: number): boolean;
/**
 * Converts Hebrew month string name to numeric
 * @param monthName monthName
 */
export declare function monthFromName(monthName: string | number): number;
