@hebcal/core 5.4.6 → 5.4.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/core.d.ts ADDED
@@ -0,0 +1,1715 @@
1
+ import { gematriya } from '@hebcal/hdate';
2
+ import { gematriyaStrToNum } from '@hebcal/hdate';
3
+ import { GeoLocation } from '@hebcal/noaa';
4
+ import { greg } from '@hebcal/hdate';
5
+ import { HDate } from '@hebcal/hdate';
6
+ import { Locale } from '@hebcal/hdate';
7
+ import { months } from '@hebcal/hdate';
8
+ import { NOAACalculator } from '@hebcal/noaa';
9
+
10
+ /**
11
+ * Because Asara B'Tevet often occurs twice in the same Gregorian year,
12
+ * we subclass HolidayEvent to override the `url()` method.
13
+ */
14
+ export declare class AsaraBTevetEvent extends HolidayEvent {
15
+ /** @return {string} */
16
+ urlDateSuffix(): string;
17
+ }
18
+
19
+ /**
20
+ * Options to configure which events are returned
21
+ */
22
+ export declare type CalOptions = {
23
+ /**
24
+ * latitude/longitude/tzid used for candle-lighting
25
+ */
26
+ location?: Location_2;
27
+ /**
28
+ * Gregorian or Hebrew year
29
+ */
30
+ year?: number;
31
+ /**
32
+ * to interpret year as Hebrew year
33
+ */
34
+ isHebrewYear?: boolean;
35
+ /**
36
+ * Gregorian or Hebrew month (to filter results to a single month)
37
+ */
38
+ month?: number | string;
39
+ /**
40
+ * generate calendar for multiple years (default 1)
41
+ */
42
+ numYears?: number;
43
+ /**
44
+ * use specific start date (requires end date)
45
+ */
46
+ start?: number | HDate | Date;
47
+ /**
48
+ * use specific end date (requires start date)
49
+ */
50
+ end?: number | HDate | Date;
51
+ /**
52
+ * calculate candle-lighting and havdalah times
53
+ */
54
+ candlelighting?: boolean;
55
+ /**
56
+ * minutes before sundown to light candles (default 18)
57
+ */
58
+ candleLightingMins?: number;
59
+ /**
60
+ * minutes after sundown for Havdalah (typical values are 42, 50, or 72).
61
+ * If `undefined` (the default), calculate Havdalah according to Tzeit Hakochavim -
62
+ * Nightfall (the point when 3 small stars are observable in the night time sky with
63
+ * the naked eye). If `0`, Havdalah times are suppressed.
64
+ */
65
+ havdalahMins?: number;
66
+ /**
67
+ * degrees for solar depression for Havdalah.
68
+ * Default is 8.5 degrees for 3 small stars. use 7.083 degrees for 3 medium-sized stars
69
+ * (observed by Dr. Baruch (Berthold) Cohn in his luach published in France in 1899).
70
+ * If `0`, Havdalah times are suppressed.
71
+ */
72
+ havdalahDeg?: number;
73
+ /**
74
+ * degrees for solar depression for end of fast days.
75
+ * Default is 7.083 degrees for 3 medium-sized stars. Other commonly-used values include
76
+ * 6.45 degrees, as calculated by Rabbi Yechiel Michel Tucazinsky.
77
+ */
78
+ fastEndDeg?: number;
79
+ /**
80
+ * use elevation for calculations (default `false`).
81
+ * If `true`, use elevation to affect the calculation of all sunrise/sunset based zmanim.
82
+ * Note: there are some zmanim such as degree-based zmanim that are driven by the amount
83
+ * of light in the sky and are not impacted by elevation.
84
+ * These zmanim intentionally do not support elevation adjustment.
85
+ */
86
+ useElevation?: boolean;
87
+ /**
88
+ * calculate parashah hashavua on Saturdays
89
+ */
90
+ sedrot?: boolean;
91
+ /**
92
+ * Israeli holiday and sedra schedule
93
+ */
94
+ il?: boolean;
95
+ /**
96
+ * suppress minor fasts
97
+ */
98
+ noMinorFast?: boolean;
99
+ /**
100
+ * suppress modern holidays
101
+ */
102
+ noModern?: boolean;
103
+ /**
104
+ * suppress Rosh Chodesh
105
+ */
106
+ noRoshChodesh?: boolean;
107
+ /**
108
+ * add Shabbat Mevarchim
109
+ */
110
+ shabbatMevarchim?: boolean;
111
+ /**
112
+ * suppress Special Shabbat
113
+ */
114
+ noSpecialShabbat?: boolean;
115
+ /**
116
+ * suppress regular holidays
117
+ */
118
+ noHolidays?: boolean;
119
+ /**
120
+ * include Days of the Omer
121
+ */
122
+ omer?: boolean;
123
+ /**
124
+ * include event announcing the molad
125
+ */
126
+ molad?: boolean;
127
+ /**
128
+ * use Ashkenazi transliterations for event titles (default Sephardi transliterations)
129
+ */
130
+ ashkenazi?: boolean;
131
+ /**
132
+ * translate event titles according to a locale
133
+ * Default value is `en`, also built-in are `he` and `ashkenazi`.
134
+ * Additional locales (such as `ru` or `fr`) are provided by the
135
+ * {@link https://github.com/hebcal/hebcal-locales @hebcal/locales} package
136
+ */
137
+ locale?: string;
138
+ /**
139
+ * print the Hebrew date for the entire date range
140
+ */
141
+ addHebrewDates?: boolean;
142
+ /**
143
+ * print the Hebrew date for dates with some events
144
+ */
145
+ addHebrewDatesForEvents?: boolean;
146
+ /**
147
+ * use bitmask from `flags` to filter events
148
+ */
149
+ mask?: number;
150
+ /**
151
+ * include Yom Kippur Katan (default `false`).
152
+ * יוֹם כִּפּוּר קָטָן is a minor day of atonement occurring monthly on the day preceeding each Rosh Chodesh.
153
+ * Yom Kippur Katan is omitted in Elul (on the day before Rosh Hashanah),
154
+ * Tishrei (Yom Kippur has just passed), Kislev (due to Chanukah)
155
+ * and Nisan (fasting not permitted during Nisan).
156
+ * When Rosh Chodesh occurs on Shabbat or Sunday, Yom Kippur Katan is observed on the preceding Thursday.
157
+ * See {@link https://en.wikipedia.org/wiki/Yom_Kippur_Katan#Practices Wikipedia Yom Kippur Katan practices}
158
+ */
159
+ yomKippurKatan?: boolean;
160
+ /**
161
+ * Whether to use 12-hour time (as opposed to 24-hour time).
162
+ * Possible values are `true` and `false`; the default is locale dependent.
163
+ */
164
+ hour12?: boolean;
165
+ /**
166
+ * map of options to enable daily study calendars
167
+ * such as `dafYomi`, `mishnaYomi`, `nachYomi` with value `true`. For `yerushalmi`
168
+ * the value should be a `number` for edition (`1` for Vilna, `2` for Schottenstein).
169
+ */
170
+ dailyLearning?: {
171
+ [x: string]: any;
172
+ };
173
+ };
174
+
175
+ /** Candle lighting before Shabbat or holiday */
176
+ export declare class CandleLightingEvent extends TimedEvent {
177
+ constructor(date: HDate, mask: number, eventTime: Date, location: Location_2, linkedEvent?: Event_2, options?: CalOptions);
178
+ /** @return {string} */
179
+ getEmoji(): string;
180
+ }
181
+
182
+ /**
183
+ * Plug-ins for daily learning calendars such as Daf Yomi, Mishna Yomi, Nach Yomi, etc.
184
+ *
185
+ * Learning schedules are provided by the `@hebcal/learning` package.
186
+ */
187
+ export declare class DailyLearning {
188
+ /**
189
+ * Register a new learning calendar.
190
+ * @param {string} name
191
+ * @param {Function} calendar
192
+ */
193
+ static addCalendar(name: string, calendar: Function): void;
194
+ /**
195
+ * Returns an event from daily calendar for a given date. Returns `null` if there
196
+ * is no learning from this calendar on this date.
197
+ * @param {string} name
198
+ * @param {HDate} hd
199
+ * @param {boolean} il
200
+ * @return {Event | null}
201
+ */
202
+ static lookup(name: string, hd: HDate, il: boolean): Event_2 | null;
203
+ }
204
+
205
+ /** Represents an Event with a title, date, and flags */
206
+ declare class Event_2 {
207
+ readonly date: HDate;
208
+ readonly desc: string;
209
+ readonly mask: number;
210
+ emoji?: string;
211
+ memo?: string;
212
+ alarm?: Date;
213
+ /**
214
+ * Constructs Event
215
+ * @param {HDate} date Hebrew date event occurs
216
+ * @param {string} desc Description (not translated)
217
+ * @param {number} [mask=0] optional bitmask of holiday flags (see {@link flags})
218
+ * @param {Object} [attrs={}] optional additional attributes (e.g. `eventTimeStr`, `cholHaMoedDay`)
219
+ */
220
+ constructor(date: HDate, desc: string, mask?: number, attrs?: object);
221
+ /**
222
+ * Hebrew date of this event
223
+ * @return {HDate}
224
+ */
225
+ getDate(): HDate;
226
+ /**
227
+ * Untranslated description of this event
228
+ * @return {string}
229
+ */
230
+ getDesc(): string;
231
+ /**
232
+ * Bitmask of optional event flags. See {@link flags}
233
+ * @return {number}
234
+ */
235
+ getFlags(): number;
236
+ /**
237
+ * Returns (translated) description of this event
238
+ * @example
239
+ * const ev = new Event(new HDate(6, 'Sivan', 5749), 'Shavuot', flags.CHAG);
240
+ * ev.render('en'); // 'Shavuot'
241
+ * ev.render('he'); // 'שָׁבוּעוֹת'
242
+ * ev.render('ashkenazi'); // 'Shavuos'
243
+ * @param {string} [locale] Optional locale name (defaults to active locale).
244
+ * @return {string}
245
+ */
246
+ render(locale?: string): string;
247
+ /**
248
+ * Returns a brief (translated) description of this event.
249
+ * For most events, this is the same as render(). For some events, it procudes
250
+ * a shorter text (e.g. without a time or added description).
251
+ * @param {string} [locale] Optional locale name (defaults to active locale).
252
+ * @return {string}
253
+ */
254
+ renderBrief(locale?: string): string;
255
+ /**
256
+ * Optional holiday-specific Emoji or `null`.
257
+ * @return {string | null}
258
+ */
259
+ getEmoji(): string | null;
260
+ /**
261
+ * Returns a simplified (untranslated) description for this event. For example,
262
+ * the {@link HolidayEvent} class supports
263
+ * "Erev Pesach" => "Pesach", and "Sukkot III (CH''M)" => "Sukkot".
264
+ * For many holidays the basename and the event description are the same.
265
+ * @return {string}
266
+ */
267
+ basename(): string;
268
+ /**
269
+ * Returns a URL to hebcal.com or sefaria.org for more detail on the event.
270
+ * Returns `undefined` for events with no detail page.
271
+ * @return {string | undefined}
272
+ */
273
+ url(): string | undefined;
274
+ /**
275
+ * Is this event observed in Israel?
276
+ * @example
277
+ * const ev1 = new Event(new HDate(7, 'Sivan', 5749), 'Shavuot II', flags.CHAG | flags.CHUL_ONLY);
278
+ * ev1.observedInIsrael(); // false
279
+ * const ev2 = new Event(new HDate(26, 'Kislev', 5749), 'Chanukah: 3 Candles', 0);
280
+ * ev2.observedInIsrael(); // true
281
+ * @return {boolean}
282
+ */
283
+ observedInIsrael(): boolean;
284
+ /**
285
+ * Is this event observed in the Diaspora?
286
+ * @example
287
+ * const ev1 = new Event(new HDate(7, 'Sivan', 5749), 'Shavuot II', flags.CHAG | flags.CHUL_ONLY);
288
+ * ev1.observedInDiaspora(); // true
289
+ * const ev2 = new Event(new HDate(26, 'Kislev', 5749), 'Chanukah: 3 Candles', 0);
290
+ * ev2.observedInDiaspora(); // true
291
+ * @return {boolean}
292
+ */
293
+ observedInDiaspora(): boolean;
294
+ /**
295
+ * Is this event observed in Israel/Diaspora?
296
+ * @example
297
+ * const ev1 = new Event(new HDate(7, 'Sivan', 5749), 'Shavuot II', flags.CHAG | flags.CHUL_ONLY);
298
+ * ev1.observedIn(false); // true
299
+ * ev1.observedIn(true); // false
300
+ * const ev2 = new Event(new HDate(26, 'Kislev', 5749), 'Chanukah: 3 Candles', 0);
301
+ * ev2.observedIn(false); // true
302
+ * ev2.observedIn(true); // true
303
+ * @param {boolean} il
304
+ * @return {boolean}
305
+ */
306
+ observedIn(il: boolean): boolean;
307
+ /**
308
+ * Makes a clone of this Event object
309
+ * @return {Event}
310
+ */
311
+ clone(): Event_2;
312
+ /**
313
+ * Returns a list of event categories
314
+ * @return {string[]}
315
+ */
316
+ getCategories(): string[];
317
+ }
318
+ export { Event_2 as Event }
319
+
320
+ /**
321
+ * Holiday flags for Event
322
+ * @readonly
323
+ * @enum {number}
324
+ */
325
+ export declare const flags: {
326
+ /** Chag, yontiff, yom tov */
327
+ CHAG: number;
328
+ /** Light candles 18 minutes before sundown */
329
+ LIGHT_CANDLES: number;
330
+ /** End of holiday (end of Yom Tov) */
331
+ YOM_TOV_ENDS: number;
332
+ /** Observed only in the Diaspora (chutz l'aretz) */
333
+ CHUL_ONLY: number;
334
+ /** Observed only in Israel */
335
+ IL_ONLY: number;
336
+ /** Light candles in the evening at Tzeit time (3 small stars) */
337
+ LIGHT_CANDLES_TZEIS: number;
338
+ /** Candle-lighting for Chanukah */
339
+ CHANUKAH_CANDLES: number;
340
+ /** Rosh Chodesh, beginning of a new Hebrew month */
341
+ ROSH_CHODESH: number;
342
+ /** Minor fasts like Tzom Tammuz, Ta'anit Esther, ... */
343
+ MINOR_FAST: number;
344
+ /** Shabbat Shekalim, Zachor, ... */
345
+ SPECIAL_SHABBAT: number;
346
+ /** Weekly sedrot on Saturdays */
347
+ PARSHA_HASHAVUA: number;
348
+ /** Daily page of Talmud (Bavli) */
349
+ DAF_YOMI: number;
350
+ /** Days of the Omer */
351
+ OMER_COUNT: number;
352
+ /** Yom HaShoah, Yom HaAtzma'ut, ... */
353
+ MODERN_HOLIDAY: number;
354
+ /** Yom Kippur and Tish'a B'Av */
355
+ MAJOR_FAST: number;
356
+ /** On the Saturday before Rosh Chodesh */
357
+ SHABBAT_MEVARCHIM: number;
358
+ /** Molad */
359
+ MOLAD: number;
360
+ /** Yahrzeit or Hebrew Anniversary */
361
+ USER_EVENT: number;
362
+ /** Daily Hebrew date ("11th of Sivan, 5780") */
363
+ HEBREW_DATE: number;
364
+ /** A holiday that's not major, modern, rosh chodesh, or a fast day */
365
+ MINOR_HOLIDAY: number;
366
+ /** Evening before a major or minor holiday */
367
+ EREV: number;
368
+ /** Chol haMoed, intermediate days of Pesach or Sukkot */
369
+ CHOL_HAMOED: number;
370
+ /** Mishna Yomi */
371
+ MISHNA_YOMI: number;
372
+ /** Yom Kippur Katan, minor day of atonement on the day preceeding each Rosh Chodesh */
373
+ YOM_KIPPUR_KATAN: number;
374
+ /** Daily page of Jerusalem Talmud (Yerushalmi) */
375
+ YERUSHALMI_YOMI: number;
376
+ /** Nach Yomi */
377
+ NACH_YOMI: number;
378
+ /** Daily Learning */
379
+ DAILY_LEARNING: number;
380
+ };
381
+
382
+ export { gematriya }
383
+
384
+ export { gematriyaStrToNum }
385
+
386
+ export { GeoLocation }
387
+
388
+ export { greg }
389
+
390
+ /** Havdalah after Shabbat or holiday */
391
+ export declare class HavdalahEvent extends TimedEvent {
392
+ private readonly havdalahMins?;
393
+ constructor(date: HDate, mask: number, eventTime: Date, location: Location_2, havdalahMins?: number, linkedEvent?: Event_2, options?: CalOptions);
394
+ /**
395
+ * @param {string} [locale] Optional locale name (defaults to active locale).
396
+ * @return {string}
397
+ */
398
+ render(locale?: string): string;
399
+ /**
400
+ * Returns translation of "Havdalah" without the time.
401
+ * @param {string} [locale] Optional locale name (defaults to active locale).
402
+ * @return {string}
403
+ */
404
+ renderBrief(locale?: string): string;
405
+ /** @return {string} */
406
+ getEmoji(): string;
407
+ }
408
+
409
+ export { HDate }
410
+
411
+ /**
412
+ * HebrewCalendar is the main interface to the `@hebcal/core` library.
413
+ * This namespace is used to calculate holidays, rosh chodesh, candle lighting & havdalah times,
414
+ * Parashat HaShavua, Daf Yomi, days of the omer, and the molad.
415
+ * Event names can be rendered in several languges using the `locale` option.
416
+ */
417
+ export declare class HebrewCalendar {
418
+ /**
419
+ * Calculates holidays and other Hebrew calendar events based on {@link CalOptions}.
420
+ *
421
+ * Each holiday is represented by an {@link Event} object which includes a date,
422
+ * a description, flags and optional attributes.
423
+ * If given no options, returns holidays for the Diaspora for the current Gregorian year.
424
+ *
425
+ * The date range returned by this function can be controlled by:
426
+ * * `options.year` - Gregorian (e.g. 1993) or Hebrew year (e.g. 5749)
427
+ * * `options.isHebrewYear` - to interpret `year` as Hebrew year
428
+ * * `options.numYears` - generate calendar for multiple years (default 1)
429
+ * * `options.month` - Gregorian or Hebrew month (to filter results to a single month)
430
+ *
431
+ * Alternatively, specify start and end days with `Date` or {@link HDate} instances:
432
+ * * `options.start` - use specific start date (requires `end` date)
433
+ * * `options.end` - use specific end date (requires `start` date)
434
+ *
435
+ * Unless `options.noHolidays == true`, default holidays include:
436
+ * * Major holidays - Rosh Hashana, Yom Kippur, Pesach, Sukkot, etc.
437
+ * * Minor holidays - Purim, Chanukah, Tu BiShvat, Lag BaOmer, etc.
438
+ * * Minor fasts - Ta'anit Esther, Tzom Gedaliah, etc. (unless `options.noMinorFast`)
439
+ * * Special Shabbatot - Shabbat Shekalim, Zachor, etc. (unless `options.noSpecialShabbat`)
440
+ * * Modern Holidays - Yom HaShoah, Yom HaAtzma'ut, etc. (unless `options.noModern`)
441
+ * * Rosh Chodesh (unless `options.noRoshChodesh`)
442
+ *
443
+ * Holiday and Torah reading schedules differ between Israel and the Disapora.
444
+ * Set `options.il=true` to use the Israeli schedule.
445
+ *
446
+ * Additional non-default event types can be specified:
447
+ * * Parashat HaShavua - weekly Torah Reading on Saturdays (`options.sedrot`)
448
+ * * Counting of the Omer (`options.omer`)
449
+ * * Shabbat Mevarchim HaChodesh on Saturday before Rosh Chodesh (`options.shabbatMevarchim`)
450
+ * * Molad announcement on Saturday before Rosh Chodesh (`options.molad`)
451
+ * * Yom Kippur Katan (`options.yomKippurKatan`)
452
+ *
453
+ * Daily Study of texts are supported by the
454
+ * {@link https://github.com/hebcal/hebcal-learning @hebcal/learning} package,
455
+ * for example:
456
+ * * Babylonian Talmud Daf Yomi (`options.dailyLearning.dafYomi`)
457
+ * * Jerusalem Talmud (Yerushalmi) Yomi (`options.dailyLearning.yerushalmi`)
458
+ * * Mishna Yomi (`options.dailyLearning.mishnaYomi`)
459
+ * * Nach Yomi (`options.dailyLearning.nachYomi`)
460
+ *
461
+ * Candle-lighting and Havdalah times are approximated using latitude and longitude
462
+ * specified by the {@link Location} class. The `Location` class contains a small
463
+ * database of cities with their associated geographic information and time-zone information.
464
+ * If you ever have any doubts about Hebcal's times, consult your local halachic authority.
465
+ * If you enter geographic coordinates above the arctic circle or antarctic circle,
466
+ * the times are guaranteed to be wrong.
467
+ *
468
+ * To add candle-lighting options, set `options.candlelighting=true` and set
469
+ * `options.location` to an instance of `Location`. By default, candle lighting
470
+ * time is 18 minutes before sundown (40 minutes for Jerusalem,
471
+ * 30 minutes for Haifa and Zikhron Ya'akov) and Havdalah is
472
+ * calculated according to Tzeit Hakochavim - Nightfall (the point when 3 small stars
473
+ * are observable in the night time sky with the naked eye). The default Havdalah
474
+ * option (Tzeit Hakochavim) is calculated when the sun is 8.5° below the horizon.
475
+ * These defaults can be changed using these options:
476
+ * * `options.candleLightingMins` - minutes before sundown to light candles
477
+ * * `options.havdalahMins` - minutes after sundown for Havdalah (typical values are 42, 50, or 72).
478
+ * Havdalah times are suppressed when `options.havdalahMins=0`.
479
+ * * `options.havdalahDeg` - degrees for solar depression for Havdalah.
480
+ * Default is 8.5 degrees for 3 small stars. Use 7.083 degrees for 3 medium-sized stars.
481
+ * Havdalah times are suppressed when `options.havdalahDeg=0`.
482
+ *
483
+ * If both `options.candlelighting=true` and `options.location` is specified,
484
+ * Chanukah candle-lighting times and minor fast start/end times will also be generated.
485
+ * Chanukah candle-lighting is at Bein HaShmashos (13.5 minutes before
486
+ * the sun is 7.083° below the horizon in the evening)
487
+ * on weekdays, at regular candle-lighting time on Fridays, and at regular Havdalah time on
488
+ * Saturday night (see above).
489
+ *
490
+ * Minor fasts begin at Alot HaShachar (sun is 16.1° below the horizon in the morning) and
491
+ * end when 3 medium-sized stars are observable in the night sky (sun is 7.083° below the horizon
492
+ * in the evening).
493
+ *
494
+ * Two options also exist for generating an Event with the Hebrew date:
495
+ * * `options.addHebrewDates` - print the Hebrew date for the entire date range
496
+ * * `options.addHebrewDatesForEvents` - print the Hebrew date for dates with some events
497
+ *
498
+ * Lastly, translation and transliteration of event titles is controlled by
499
+ * `options.locale` and the {@link Locale} API.
500
+ * `@hebcal/core` supports three locales by default:
501
+ * * `en` - default, Sephardic transliterations (e.g. "Shabbat")
502
+ * * `ashkenazi` - Ashkenazi transliterations (e.g. "Shabbos")
503
+ * * `he` - Hebrew (e.g. "שַׁבָּת")
504
+ *
505
+ * Additional locales (such as `ru` or `fr`) are supported by the
506
+ * {@link https://github.com/hebcal/hebcal-locales @hebcal/locales} package
507
+ *
508
+ * @example
509
+ * import {HebrewCalendar, HDate, Location, Event} from '@hebcal/core';
510
+ * const options: CalOptions = {
511
+ * year: 1981,
512
+ * isHebrewYear: false,
513
+ * candlelighting: true,
514
+ * location: Location.lookup('San Francisco'),
515
+ * sedrot: true,
516
+ * omer: true,
517
+ * };
518
+ * const events = HebrewCalendar.calendar(options);
519
+ * for (const ev of events) {
520
+ * const hd = ev.getDate();
521
+ * const date = hd.greg();
522
+ * console.log(date.toLocaleDateString(), ev.render('en'), hd.toString());
523
+ * }
524
+ * @param {CalOptions} [options={}]
525
+ * @return {Event[]}
526
+ */
527
+ static calendar(options?: CalOptions): Event_2[];
528
+ /**
529
+ * Calculates a birthday or anniversary (non-yahrzeit).
530
+ * `hyear` must be after original `gdate` of anniversary.
531
+ * Returns `undefined` when requested year preceeds or is same as original year.
532
+ *
533
+ * Hebcal uses the algorithm defined in "Calendrical Calculations"
534
+ * by Edward M. Reingold and Nachum Dershowitz.
535
+ *
536
+ * The birthday of someone born in Adar of an ordinary year or Adar II of
537
+ * a leap year is also always in the last month of the year, be that Adar
538
+ * or Adar II. The birthday in an ordinary year of someone born during the
539
+ * first 29 days of Adar I in a leap year is on the corresponding day of Adar;
540
+ * in a leap year, the birthday occurs in Adar I, as expected.
541
+ *
542
+ * Someone born on the thirtieth day of Marcheshvan, Kislev, or Adar I
543
+ * has his birthday postponed until the first of the following month in
544
+ * years where that day does not occur. [Calendrical Calculations p. 111]
545
+ * @example
546
+ * import {HebrewCalendar} from '@hebcal/core';
547
+ * const dt = new Date(2014, 2, 2); // '2014-03-02' == '30 Adar I 5774'
548
+ * const hd = HebrewCalendar.getBirthdayOrAnniversary(5780, dt); // '1 Nisan 5780'
549
+ * console.log(hd.greg().toLocaleDateString('en-US')); // '3/26/2020'
550
+ * @param {number} hyear Hebrew year
551
+ * @param {Date|HDate} gdate Gregorian or Hebrew date of event
552
+ * @return {HDate | undefined} anniversary occurring in `hyear`
553
+ */
554
+ static getBirthdayOrAnniversary(hyear: number, gdate: Date | HDate): HDate | undefined;
555
+ /**
556
+ * Calculates yahrzeit.
557
+ * `hyear` must be after original `gdate` of death.
558
+ * Returns `undefined` when requested year preceeds or is same as original year.
559
+ *
560
+ * Hebcal uses the algorithm defined in "Calendrical Calculations"
561
+ * by Edward M. Reingold and Nachum Dershowitz.
562
+ *
563
+ * The customary anniversary date of a death is more complicated and depends
564
+ * also on the character of the year in which the first anniversary occurs.
565
+ * There are several cases:
566
+ *
567
+ * * If the date of death is Marcheshvan 30, the anniversary in general depends
568
+ * on the first anniversary; if that first anniversary was not Marcheshvan 30,
569
+ * use the day before Kislev 1.
570
+ * * If the date of death is Kislev 30, the anniversary in general again depends
571
+ * on the first anniversary — if that was not Kislev 30, use the day before
572
+ * Tevet 1.
573
+ * * If the date of death is Adar II, the anniversary is the same day in the
574
+ * last month of the Hebrew year (Adar or Adar II).
575
+ * * If the date of death is Adar I 30, the anniversary in a Hebrew year that
576
+ * is not a leap year (in which Adar only has 29 days) is the last day in
577
+ * Shevat.
578
+ * * In all other cases, use the normal (that is, same month number) anniversary
579
+ * of the date of death. [Calendrical Calculations p. 113]
580
+ * @example
581
+ * import {HebrewCalendar} from '@hebcal/core';
582
+ * const dt = new Date(2014, 2, 2); // '2014-03-02' == '30 Adar I 5774'
583
+ * const hd = HebrewCalendar.getYahrzeit(5780, dt); // '30 Sh\'vat 5780'
584
+ * console.log(hd.greg().toLocaleDateString('en-US')); // '2/25/2020'
585
+ * @param {number} hyear Hebrew year
586
+ * @param {Date|HDate} gdate Gregorian or Hebrew date of death
587
+ * @return {HDate | undefined} anniversary occurring in hyear
588
+ */
589
+ static getYahrzeit(hyear: number, gdate: Date | HDate): HDate | undefined;
590
+ /**
591
+ * Lower-level holidays interface, which returns a `Map` of `Event`s indexed by
592
+ * `HDate.toString()`. These events must filtered especially for `flags.IL_ONLY`
593
+ * or `flags.CHUL_ONLY` depending on Israel vs. Diaspora holiday scheme.
594
+ * @function
595
+ * @param {number} year Hebrew year
596
+ * @return {HolidayYearMap}
597
+ */
598
+ static getHolidaysForYear(year: number): HolidayYearMap;
599
+ /**
600
+ * Returns an array of holidays for the year
601
+ * @param {number} year Hebrew year
602
+ * @param {boolean} il use the Israeli schedule for holidays
603
+ * @return {HolidayEvent[]}
604
+ */
605
+ static getHolidaysForYearArray(year: number, il: boolean): HolidayEvent[];
606
+ /**
607
+ * Returns an array of Events on this date (or `undefined` if no events)
608
+ * @param {HDate|Date|number} date Hebrew Date, Gregorian date, or absolute R.D. day number
609
+ * @param {boolean} [il] use the Israeli schedule for holidays
610
+ * @return {HolidayEvent[] | undefined}
611
+ */
612
+ static getHolidaysOnDate(date: HDate | Date | number, il?: boolean): HolidayEvent[] | undefined;
613
+ /**
614
+ * Eruv Tavshilin
615
+ * @param {Date | HDate} date
616
+ * @param {boolean} il
617
+ * @return {boolean}
618
+ */
619
+ static eruvTavshilin(date: Date | HDate, il: boolean): boolean;
620
+ /**
621
+ * Helper function to format a 23-hour (00:00-23:59) time in US format ("8:13pm") or
622
+ * keep as "20:13" for any other locale/country. Uses {@link CalOptions} to determine
623
+ * locale.
624
+ * If `options.hour12` is `false`, locale is ignored and always returns 24-hour time.
625
+ * If `options.hour12` is `true`, locale is ignored and always returns 12-hour time.
626
+ * @param {string} timeStr - original time like "20:30"
627
+ * @param {string} suffix - "p" or "pm" or " P.M.". Add leading space if you want it
628
+ * @param {CalOptions} options
629
+ * @return {string}
630
+ */
631
+ static reformatTimeStr(timeStr: string, suffix: string, options: CalOptions): string;
632
+ /** @return {string} */
633
+ static version(): string;
634
+ /**
635
+ * Convenience function to create an instance of `Sedra` or reuse a previously
636
+ * created and cached instance.
637
+ * @function
638
+ * @param {number} hyear
639
+ * @param {boolean} il
640
+ * @return {Sedra}
641
+ */
642
+ static getSedra(hyear: number, il: boolean): Sedra;
643
+ /**
644
+ * Return a number containing information on what Hallel is said on that day.
645
+ *
646
+ * Whole Hallel is said on Chanukah, the first Yom Tov of Pesach, Shavuot, Sukkot,
647
+ * Yom Ha'atzmaut, and Yom Yerushalayim.
648
+ *
649
+ * Half Hallel is said on Rosh Chodesh (not Rosh Hashanah), and the last 6 days of Pesach.
650
+ *
651
+ * The number is one of the following values:
652
+ *
653
+ * 0 - No Hallel
654
+ * 1 - Half Hallel
655
+ * 2 - Whole Hallel
656
+ *
657
+ * @param {HDate} hdate
658
+ * @param {boolean} il
659
+ * @return {number}
660
+ */
661
+ static hallel(hdate: HDate, il: boolean): number;
662
+ /**
663
+ * Return details on what Tachanun (or Tzidchatcha on Shabbat) is said on `hdate`.
664
+ *
665
+ * Tachanun is not said on Rosh Chodesh, the month of Nisan, Lag Baomer,
666
+ * Rosh Chodesh Sivan until Isru Chag, Tisha B'av, 15 Av, Erev Rosh Hashanah,
667
+ * Rosh Hashanah, Erev Yom Kippur until after Simchat Torah, Chanukah,
668
+ * Tu B'shvat, Purim and Shushan Purim, and Purim and Shushan Purim Katan.
669
+ *
670
+ * In some congregations Tachanun is not said until from Rosh Chodesh Sivan
671
+ * until 14th Sivan, Sukkot until after Rosh Chodesh Cheshvan, Pesach Sheini,
672
+ * Yom Ha'atzmaut, and Yom Yerushalayim.
673
+ *
674
+ * Tachanun is not said at Mincha on days before it is not said at Shacharit.
675
+ *
676
+ * Tachanun is not said at Shacharit on Shabbat, but is at Mincha, usually.
677
+ * @param {HDate} hdate
678
+ * @param {boolean} il
679
+ * @return {TachanunResult}
680
+ */
681
+ static tachanun(hdate: HDate, il: boolean): TachanunResult;
682
+ }
683
+
684
+ /** Daily Hebrew date ("11th of Sivan, 5780") */
685
+ export declare class HebrewDateEvent extends Event_2 {
686
+ /**
687
+ * @param {HDate} date
688
+ */
689
+ constructor(date: HDate);
690
+ /**
691
+ * @param {string} [locale] Optional locale name (defaults to active locale).
692
+ * @example
693
+ * import {HDate, HebrewDateEvent, months} from '@hebcal/core';
694
+ *
695
+ * const hd = new HDate(15, months.CHESHVAN, 5769);
696
+ * const ev = new HebrewDateEvent(hd);
697
+ * console.log(ev.render('en')); // '15th of Cheshvan, 5769'
698
+ * console.log(ev.render('he')); // 'ט״ו חֶשְׁוָן תשס״ט'
699
+ * @return {string}
700
+ */
701
+ render(locale?: string): string;
702
+ /**
703
+ * @private
704
+ * @param {string} locale
705
+ * @return {string}
706
+ */
707
+ private renderBriefHebrew;
708
+ /**
709
+ * @param {string} [locale] Optional locale name (defaults to active locale).
710
+ * @example
711
+ * import {HDate, HebrewDateEvent, months} from '@hebcal/core';
712
+ *
713
+ * const hd = new HDate(15, months.CHESHVAN, 5769);
714
+ * const ev = new HebrewDateEvent(hd);
715
+ * console.log(ev.renderBrief()); // '15th of Cheshvan'
716
+ * console.log(ev.renderBrief('he')); // 'ט״ו חֶשְׁוָן'
717
+ * @return {string}
718
+ */
719
+ renderBrief(locale?: string): string;
720
+ }
721
+
722
+ /**
723
+ * Transliterated names of holidays, used by `Event.getDesc()`
724
+ * @readonly
725
+ * @enum {string}
726
+ */
727
+ export declare const holidayDesc: {
728
+ /** Asara B'Tevet */
729
+ ASARA_BTEVET: string;
730
+ /** Birkat Hachamah */
731
+ BIRKAT_HACHAMAH: string;
732
+ /** Chag HaBanot */
733
+ CHAG_HABANOT: string;
734
+ /** Chanukah: 8th Day */
735
+ CHANUKAH_8TH_DAY: string;
736
+ /** Erev Tish'a B'Av */
737
+ EREV_TISHA_BAV: string;
738
+ /** Leil Selichot */
739
+ LEIL_SELICHOT: string;
740
+ /** Purim Katan */
741
+ PURIM_KATAN: string;
742
+ /** Purim Meshulash */
743
+ PURIM_MESHULASH: string;
744
+ /** Shabbat Chazon */
745
+ SHABBAT_CHAZON: string;
746
+ /** Shabbat HaChodesh */
747
+ SHABBAT_HACHODESH: string;
748
+ /** Shabbat HaGadol */
749
+ SHABBAT_HAGADOL: string;
750
+ /** Shabbat Nachamu */
751
+ SHABBAT_NACHAMU: string;
752
+ /** Shabbat Parah */
753
+ SHABBAT_PARAH: string;
754
+ /** Shabbat Shekalim */
755
+ SHABBAT_SHEKALIM: string;
756
+ /** Shabbat Shirah */
757
+ SHABBAT_SHIRAH: string;
758
+ /** Shabbat Shuva */
759
+ SHABBAT_SHUVA: string;
760
+ /** Shabbat Zachor */
761
+ SHABBAT_ZACHOR: string;
762
+ /** Shushan Purim Katan */
763
+ SHUSHAN_PURIM_KATAN: string;
764
+ /** Ta'anit Bechorot */
765
+ TAANIT_BECHOROT: string;
766
+ /** Ta'anit Esther */
767
+ TAANIT_ESTHER: string;
768
+ /** Tish'a B'Av */
769
+ TISHA_BAV: string;
770
+ /** Tzom Gedaliah */
771
+ TZOM_GEDALIAH: string;
772
+ /** Tzom Tammuz */
773
+ TZOM_TAMMUZ: string;
774
+ /** Yom HaAtzma'ut */
775
+ YOM_HAATZMA_UT: string;
776
+ /** Yom HaShoah */
777
+ YOM_HASHOAH: string;
778
+ /** Yom HaZikaron */
779
+ YOM_HAZIKARON: string;
780
+ /** Ben-Gurion Day */
781
+ BEN_GURION_DAY: string;
782
+ /** Chanukah: 1 Candle */
783
+ CHANUKAH_1_CANDLE: string;
784
+ /** Erev Pesach */
785
+ EREV_PESACH: string;
786
+ /** Erev Purim */
787
+ EREV_PURIM: string;
788
+ /** Erev Rosh Hashana */
789
+ EREV_ROSH_HASHANA: string;
790
+ /** Erev Shavuot */
791
+ EREV_SHAVUOT: string;
792
+ /** Erev Sukkot */
793
+ EREV_SUKKOT: string;
794
+ /** Erev Yom Kippur */
795
+ EREV_YOM_KIPPUR: string;
796
+ /** Family Day */
797
+ FAMILY_DAY: string;
798
+ /** Hebrew Language Day */
799
+ HEBREW_LANGUAGE_DAY: string;
800
+ /** Herzl Day */
801
+ HERZL_DAY: string;
802
+ /** Jabotinsky Day */
803
+ JABOTINSKY_DAY: string;
804
+ /** Lag BaOmer */
805
+ LAG_BAOMER: string;
806
+ /** Pesach I */
807
+ PESACH_I: string;
808
+ /** Pesach II */
809
+ PESACH_II: string;
810
+ /** Pesach III (CH''M) */
811
+ PESACH_III_CHM: string;
812
+ /** Pesach II (CH''M) */
813
+ PESACH_II_CHM: string;
814
+ /** Pesach IV (CH''M) */
815
+ PESACH_IV_CHM: string;
816
+ /** Pesach Sheni */
817
+ PESACH_SHENI: string;
818
+ /** Pesach VII */
819
+ PESACH_VII: string;
820
+ /** Pesach VIII */
821
+ PESACH_VIII: string;
822
+ /** Pesach VI (CH''M) */
823
+ PESACH_VI_CHM: string;
824
+ /** Pesach V (CH''M) */
825
+ PESACH_V_CHM: string;
826
+ /** Purim */
827
+ PURIM: string;
828
+ /** Rosh Hashana II */
829
+ ROSH_HASHANA_II: string;
830
+ /** Rosh Hashana LaBehemot */
831
+ ROSH_HASHANA_LABEHEMOT: string;
832
+ /** Shavuot */
833
+ SHAVUOT: string;
834
+ /** Shavuot I */
835
+ SHAVUOT_I: string;
836
+ /** Shavuot II */
837
+ SHAVUOT_II: string;
838
+ /** Shmini Atzeret */
839
+ SHMINI_ATZERET: string;
840
+ /** Shushan Purim */
841
+ SHUSHAN_PURIM: string;
842
+ /** Sigd */
843
+ SIGD: string;
844
+ /** Simchat Torah */
845
+ SIMCHAT_TORAH: string;
846
+ /** Sukkot I */
847
+ SUKKOT_I: string;
848
+ /** Sukkot II */
849
+ SUKKOT_II: string;
850
+ /** Sukkot III (CH''M) */
851
+ SUKKOT_III_CHM: string;
852
+ /** Sukkot II (CH''M) */
853
+ SUKKOT_II_CHM: string;
854
+ /** Sukkot IV (CH''M) */
855
+ SUKKOT_IV_CHM: string;
856
+ /** Sukkot VII (Hoshana Raba) */
857
+ SUKKOT_VII_HOSHANA_RABA: string;
858
+ /** Sukkot VI (CH''M) */
859
+ SUKKOT_VI_CHM: string;
860
+ /** Sukkot V (CH''M) */
861
+ SUKKOT_V_CHM: string;
862
+ /** Tu B\'Av */
863
+ TU_BAV: string;
864
+ /** Tu BiShvat */
865
+ TU_BISHVAT: string;
866
+ /** Yitzhak Rabin Memorial Day */
867
+ YITZHAK_RABIN_MEMORIAL_DAY: string;
868
+ /** Yom HaAliyah */
869
+ YOM_HAALIYAH: string;
870
+ /** Yom HaAliyah School Observance */
871
+ YOM_HAALIYAH_SCHOOL_OBSERVANCE: string;
872
+ /** Yom Kippur */
873
+ YOM_KIPPUR: string;
874
+ /** Yom Yerushalayim */
875
+ YOM_YERUSHALAYIM: string;
876
+ };
877
+
878
+ /** Represents a built-in holiday like Pesach, Purim or Tu BiShvat */
879
+ export declare class HolidayEvent extends Event_2 {
880
+ /** During Sukkot or Pesach */
881
+ cholHaMoedDay?: number;
882
+ chanukahDay?: number;
883
+ /**
884
+ * `true` if the fast day was postponed a day to avoid Shabbat.
885
+ * - Tish'a B'Av postponed from the 9th to the 10th
886
+ * - Tzom Tammuz postponed from the 17th to the 18th
887
+ */
888
+ observed?: boolean;
889
+ /** For a Fast day, this will be a "Fast begins" event */
890
+ startEvent?: TimedEvent;
891
+ /** For a Fast day, this will be a "Fast ends" event */
892
+ endEvent?: TimedEvent;
893
+ /** @return {string} */
894
+ basename(): string;
895
+ /** @return {string | undefined} */
896
+ url(): string | undefined;
897
+ /** @return {string} */
898
+ urlDateSuffix(): string;
899
+ /** @return {string} */
900
+ getEmoji(): string;
901
+ /** @return {string[]} */
902
+ getCategories(): string[];
903
+ /**
904
+ * Returns (translated) description of this event
905
+ * @param {string} [locale] Optional locale name (defaults to active locale).
906
+ * @return {string}
907
+ */
908
+ render(locale?: string): string;
909
+ /**
910
+ * Returns a brief (translated) description of this event.
911
+ * For most events, this is the same as render(). For some events, it procudes
912
+ * a shorter text (e.g. without a time or added description).
913
+ * @param {string} [locale] Optional locale name (defaults to active locale).
914
+ * @return {string}
915
+ */
916
+ renderBrief(locale?: string): string;
917
+ /**
918
+ * Makes a clone of this Event object
919
+ * @return {Event}
920
+ */
921
+ clone(): HolidayEvent;
922
+ }
923
+
924
+ declare type HolidayYearMap = Map<string, HolidayEvent[]>;
925
+
926
+ export { Locale }
927
+
928
+ /** Class representing Location */
929
+ declare class Location_2 extends GeoLocation {
930
+ private readonly il;
931
+ private readonly cc?;
932
+ private readonly geoid?;
933
+ /**
934
+ * Initialize a Location instance
935
+ * @param {number} latitude - Latitude as a decimal, valid range -90 thru +90 (e.g. 41.85003)
936
+ * @param {number} longitude - Longitude as a decimal, valid range -180 thru +180 (e.g. -87.65005)
937
+ * @param {boolean} il - in Israel (true) or Diaspora (false)
938
+ * @param {string} tzid - Olson timezone ID, e.g. "America/Chicago"
939
+ * @param {string} [cityName] - optional descriptive city name
940
+ * @param {string} [countryCode] - ISO 3166 alpha-2 country code (e.g. "FR")
941
+ * @param {string|number} [geoid] - optional string or numeric geographic ID
942
+ * @param {number} [elevation] - in meters (default `0`)
943
+ */
944
+ constructor(latitude: number, longitude: number, il: boolean, tzid: string, cityName?: string, countryCode?: string, geoid?: string | number, elevation?: number);
945
+ /** @return {boolean} */
946
+ getIsrael(): boolean;
947
+ /** @return {string | null} */
948
+ getName(): string | null;
949
+ /**
950
+ * Returns the location name, up to the first comma
951
+ * @return {string | null}
952
+ */
953
+ getShortName(): string | null;
954
+ /** @return {string | undefined} */
955
+ getCountryCode(): string | undefined;
956
+ /** @return {string} */
957
+ getTzid(): string;
958
+ /**
959
+ * Gets a 24-hour time formatter (e.g. 07:41 or 20:03) for this location
960
+ * @return {Intl.DateTimeFormat}
961
+ */
962
+ getTimeFormatter(): Intl.DateTimeFormat;
963
+ /** @return {string | number | undefined} */
964
+ getGeoId(): string | number | undefined;
965
+ /**
966
+ * Creates a location object from one of 60 "classic" Hebcal city names.
967
+ * The following city names are supported:
968
+ * 'Ashdod', 'Atlanta', 'Austin', 'Baghdad', 'Beer Sheva',
969
+ * 'Berlin', 'Baltimore', 'Bogota', 'Boston', 'Budapest',
970
+ * 'Buenos Aires', 'Buffalo', 'Chicago', 'Cincinnati', 'Cleveland',
971
+ * 'Dallas', 'Denver', 'Detroit', 'Eilat', 'Gibraltar', 'Haifa',
972
+ * 'Hawaii', 'Helsinki', 'Houston', 'Jerusalem', 'Johannesburg',
973
+ * 'Kiev', 'La Paz', 'Livingston', 'Las Vegas', 'London', 'Los Angeles',
974
+ * 'Marseilles', 'Miami', 'Minneapolis', 'Melbourne', 'Mexico City',
975
+ * 'Montreal', 'Moscow', 'New York', 'Omaha', 'Ottawa', 'Panama City',
976
+ * 'Paris', 'Pawtucket', 'Petach Tikvah', 'Philadelphia', 'Phoenix',
977
+ * 'Pittsburgh', 'Providence', 'Portland', 'Saint Louis', 'Saint Petersburg',
978
+ * 'San Diego', 'San Francisco', 'Sao Paulo', 'Seattle', 'Sydney',
979
+ * 'Tel Aviv', 'Tiberias', 'Toronto', 'Vancouver', 'White Plains',
980
+ * 'Washington DC', 'Worcester'
981
+ * @param {string} name
982
+ * @return {Location|undefined}
983
+ */
984
+ static lookup(name: string): Location_2 | undefined;
985
+ /** @return {string} */
986
+ toString(): string;
987
+ /**
988
+ * Converts legacy Hebcal timezone to a standard Olson tzid.
989
+ * @param {number} tz integer, GMT offset in hours
990
+ * @param {string} dst 'none', 'eu', 'usa', or 'israel'
991
+ * @return {string | undefined}
992
+ */
993
+ static legacyTzToTzid(tz: number, dst: string): string | undefined;
994
+ /**
995
+ * Converts timezone info from Zip-Codes.com to a standard Olson tzid.
996
+ * @example
997
+ * Location.getUsaTzid('AZ', 7, 'Y') // 'America/Denver'
998
+ * @param {string} state two-letter all-caps US state abbreviation like 'CA'
999
+ * @param {number} tz positive number, 5=America/New_York, 8=America/Los_Angeles
1000
+ * @param {string} dst single char 'Y' or 'N'
1001
+ * @return {string}
1002
+ */
1003
+ static getUsaTzid(state: string, tz: number, dst: string): string;
1004
+ /**
1005
+ * Adds a location name for `Location.lookup()` only if the name isn't
1006
+ * already being used. Returns `false` if the name is already taken
1007
+ * and `true` if successfully added.
1008
+ * @param {string} cityName
1009
+ * @param {Location} location
1010
+ * @return {boolean}
1011
+ */
1012
+ static addLocation(cityName: string, location: Location_2): boolean;
1013
+ }
1014
+ export { Location_2 as Location }
1015
+
1016
+ /** Represents Mevarchim haChodesh, the announcement of the new month */
1017
+ export declare class MevarchimChodeshEvent extends Event_2 {
1018
+ readonly monthName: string;
1019
+ /**
1020
+ * Constructs Mevarchim haChodesh event
1021
+ * @param {HDate} date Hebrew date event occurs
1022
+ * @param {string} monthName Hebrew month name (not translated)
1023
+ * @param {string} [memo]
1024
+ */
1025
+ constructor(date: HDate, monthName: string, memo: string);
1026
+ /** @return {string} */
1027
+ basename(): string;
1028
+ /**
1029
+ * Returns (translated) description of this event
1030
+ * @param {string} [locale] Optional locale name (defaults to active locale).
1031
+ * @return {string}
1032
+ */
1033
+ render(locale?: string): string;
1034
+ /**
1035
+ * Returns (translated) description of this event
1036
+ * @param {string} [locale] Optional locale name (defaults to active locale).
1037
+ * @return {string}
1038
+ */
1039
+ renderBrief(locale?: string): string;
1040
+ }
1041
+
1042
+ /**
1043
+ * Represents a molad, the moment when the new moon is "born"
1044
+ */
1045
+ export declare class Molad {
1046
+ private readonly m;
1047
+ /**
1048
+ * Calculates the molad for a Hebrew month
1049
+ * @param {number} year
1050
+ * @param {number} month
1051
+ */
1052
+ constructor(year: number, month: number);
1053
+ /**
1054
+ * @return {number}
1055
+ */
1056
+ getYear(): number;
1057
+ /**
1058
+ * @return {number}
1059
+ */
1060
+ getMonth(): number;
1061
+ /**
1062
+ * @return {string}
1063
+ */
1064
+ getMonthName(): string;
1065
+ /**
1066
+ * @return {number} Day of Week (0=Sunday, 6=Saturday)
1067
+ */
1068
+ getDow(): number;
1069
+ /**
1070
+ * @return {number} hour of day (0-23)
1071
+ */
1072
+ getHour(): number;
1073
+ /**
1074
+ * @return {number} minutes past hour (0-59)
1075
+ */
1076
+ getMinutes(): number;
1077
+ /**
1078
+ * @return {number} parts of a minute (0-17)
1079
+ */
1080
+ getChalakim(): number;
1081
+ /**
1082
+ * @param {string} [locale] Optional locale name (defaults to active locale)
1083
+ * @param {CalOptions} options
1084
+ * @return {string}
1085
+ */
1086
+ render(locale?: string, options?: CalOptions): string;
1087
+ }
1088
+
1089
+ /** Represents a Molad announcement on Shabbat Mevarchim */
1090
+ export declare class MoladEvent extends Event_2 {
1091
+ readonly molad: Molad;
1092
+ private readonly options;
1093
+ /**
1094
+ * @param {HDate} date Hebrew date event occurs
1095
+ * @param {number} hyear molad year
1096
+ * @param {number} hmonth molad month
1097
+ * @param {CalOptions} options
1098
+ */
1099
+ constructor(date: HDate, hyear: number, hmonth: number, options: CalOptions);
1100
+ /**
1101
+ * @param {string} [locale] Optional locale name (defaults to active locale).
1102
+ * @return {string}
1103
+ */
1104
+ render(locale?: string): string;
1105
+ }
1106
+
1107
+ export { months }
1108
+
1109
+ export { NOAACalculator }
1110
+
1111
+ declare type NumberOrString = number | string;
1112
+
1113
+ /** Represents a day 1-49 of counting the Omer from Pesach to Shavuot */
1114
+ export declare class OmerEvent extends Event_2 {
1115
+ private readonly weekNumber;
1116
+ private readonly daysWithinWeeks;
1117
+ readonly omer: number;
1118
+ emoji?: string;
1119
+ /**
1120
+ * @param {HDate} date
1121
+ * @param {number} omerDay
1122
+ */
1123
+ constructor(date: HDate, omerDay: number);
1124
+ /**
1125
+ * @param {string} lang
1126
+ * @return {string}
1127
+ */
1128
+ sefira(lang?: string): string;
1129
+ /**
1130
+ * @todo use gettext()
1131
+ * @param {string} [locale] Optional locale name (defaults to active locale).
1132
+ * @return {string}
1133
+ */
1134
+ render(locale?: string): string;
1135
+ /**
1136
+ * Returns translation of "Omer day 22" without ordinal numbers.
1137
+ * @param {string} [locale] Optional locale name (defaults to active locale).
1138
+ * @return {string}
1139
+ */
1140
+ renderBrief(locale?: string): string;
1141
+ /** @return {string} */
1142
+ getEmoji(): string;
1143
+ /** @return {number} */
1144
+ getWeeks(): number;
1145
+ /** @return {number} */
1146
+ getDaysWithinWeeks(): number;
1147
+ /**
1148
+ * @param {string} locale
1149
+ * @return {string}
1150
+ */
1151
+ getTodayIs(locale: string): string;
1152
+ /** @return {string} */
1153
+ url(): string;
1154
+ }
1155
+
1156
+ /**
1157
+ * Represents one of 54 weekly Torah portions, always on a Saturday
1158
+ */
1159
+ export declare class ParshaEvent extends Event_2 {
1160
+ readonly parsha: string[];
1161
+ readonly il: boolean;
1162
+ readonly num: number | number[];
1163
+ /**
1164
+ * @param {HDate} date
1165
+ * @param {string[]} parsha - untranslated name of single or double parsha,
1166
+ * such as ['Bereshit'] or ['Achrei Mot', 'Kedoshim']
1167
+ * @param {boolean} [il]
1168
+ * @param {number|number[]} [num]
1169
+ */
1170
+ constructor(date: HDate, parsha: string[], il?: boolean, num?: number | number[]);
1171
+ /**
1172
+ * @param {string} [locale] Optional locale name (i.e: `'he'`, `'fr'`). Defaults to active locale.
1173
+ * @return {string}
1174
+ */
1175
+ render(locale?: string): string;
1176
+ /** @return {string} */
1177
+ basename(): string;
1178
+ /** @return {string | undefined} */
1179
+ url(): string | undefined;
1180
+ /** @return {string} */
1181
+ urlDateSuffix(): string;
1182
+ }
1183
+
1184
+ /**
1185
+ * The 54 parshiyot of the Torah as transilterated strings
1186
+ * parshiot[0] == 'Bereshit', parshiot[1] == 'Noach', parshiot[52] == "Ha'azinu".
1187
+ * @readonly
1188
+ * @type {string[]}
1189
+ */
1190
+ export declare const parshiot: string[];
1191
+
1192
+ /** Represents Rosh Chodesh, the beginning of a new month */
1193
+ export declare class RoshChodeshEvent extends HolidayEvent {
1194
+ /**
1195
+ * Constructs Rosh Chodesh event
1196
+ * @param {HDate} date Hebrew date event occurs
1197
+ * @param {string} monthName Hebrew month name (not translated)
1198
+ */
1199
+ constructor(date: HDate, monthName: string);
1200
+ /**
1201
+ * Returns (translated) description of this event
1202
+ * @param {string} [locale] Optional locale name (defaults to active locale).
1203
+ * @return {string}
1204
+ */
1205
+ render(locale?: string): string;
1206
+ /** @return {string} */
1207
+ basename(): string;
1208
+ /** @return {string} */
1209
+ getEmoji(): string;
1210
+ }
1211
+
1212
+ /** Represents Rosh Hashana, the Jewish New Year */
1213
+ export declare class RoshHashanaEvent extends HolidayEvent {
1214
+ private readonly hyear;
1215
+ /**
1216
+ * @private
1217
+ * @param {HDate} date Hebrew date event occurs
1218
+ * @param {number} hyear Hebrew year
1219
+ * @param {number} mask optional holiday flags
1220
+ */
1221
+ constructor(date: HDate, hyear: number, mask: number);
1222
+ /**
1223
+ * Returns (translated) description of this event
1224
+ * @param {string} [locale] Optional locale name (defaults to active locale).
1225
+ * @return {string}
1226
+ */
1227
+ render(locale?: string): string;
1228
+ /** @return {string} */
1229
+ getEmoji(): string;
1230
+ }
1231
+
1232
+ /**
1233
+ * Represents Parashah HaShavua for an entire Hebrew year
1234
+ */
1235
+ export declare class Sedra {
1236
+ private readonly year;
1237
+ private readonly il;
1238
+ private readonly firstSaturday;
1239
+ private readonly theSedraArray;
1240
+ /**
1241
+ * Caculates the Parashah HaShavua for an entire Hebrew year
1242
+ * @param {number} hyear - Hebrew year (e.g. 5749)
1243
+ * @param {boolean} il - Use Israel sedra schedule (false for Diaspora)
1244
+ */
1245
+ constructor(hyear: number, il: boolean);
1246
+ /**
1247
+ * Returns the parsha (or parshiyot) read on Hebrew date
1248
+ * @param {HDate|number} hd Hebrew date or R.D. days
1249
+ * @return {string[]}
1250
+ */
1251
+ get(hd: HDate | number): string[];
1252
+ /**
1253
+ * Looks up parsha for the date, then returns a translated or transliterated string
1254
+ * @param {HDate|number} hd Hebrew date or R.D. days
1255
+ * @param {string} [locale] Optional locale name (i.e: `'he'`, `'fr'`). Defaults to active locale
1256
+ * @return {string}
1257
+ */
1258
+ getString(hd: HDate | number, locale?: string): string;
1259
+ /**
1260
+ * Checks to see if this day would be a regular parasha HaShavua
1261
+ * Torah reading or special holiday reading
1262
+ * @param {HDate|number} hd Hebrew date or R.D. days
1263
+ * @return {boolean}
1264
+ */
1265
+ isParsha(hd: HDate | number): boolean;
1266
+ /**
1267
+ * Returns the date that a parsha occurs
1268
+ * or `null` if the parsha doesn't occur this year
1269
+ * @param {number|string|string[]} parsha
1270
+ * @return {HDate|null}
1271
+ */
1272
+ find(parsha: number | string | string[]): HDate | null;
1273
+ /**
1274
+ * Returns the underlying annual sedra schedule.
1275
+ * Used by `@hebcal/triennial`
1276
+ * @return {NumberOrString[]}
1277
+ */
1278
+ getSedraArray(): NumberOrString[];
1279
+ /**
1280
+ * R.D. date of the first Saturday on or after Rosh Hashana
1281
+ * @return {number}
1282
+ */
1283
+ getFirstSaturday(): number;
1284
+ /** @return {number} */
1285
+ getYear(): number;
1286
+ /**
1287
+ * Returns an object describing the parsha on the first Saturday on or after `hd`
1288
+ * @param {HDate|number} hd Hebrew date or R.D. days
1289
+ * @return {SedraResult}
1290
+ */
1291
+ lookup(hd: HDate | number): SedraResult;
1292
+ }
1293
+
1294
+ /** The result from `Sedra.lookup()` */
1295
+ export declare type SedraResult = {
1296
+ /**
1297
+ * Name of the parsha (or parshiyot) read on
1298
+ * Hebrew date, e.g. `['Noach']` or `['Matot', 'Masei']`
1299
+ */
1300
+ parsha: string[];
1301
+ /**
1302
+ * True if this is a regular parasha HaShavua
1303
+ * Torah reading, false if it's a special holiday reading
1304
+ */
1305
+ chag: boolean;
1306
+ /**
1307
+ * The parsha number (or numbers) using 1-indexing.
1308
+ * A `number` for a regular (single) parsha, and a `number[]`
1309
+ * for a doubled parsha.
1310
+ * For Parashat *Bereshit*, `num` would be equal to `1`, and for
1311
+ * *Matot-Masei* it would be `[42, 43]`
1312
+ */
1313
+ num?: number | number[];
1314
+ };
1315
+
1316
+ /**
1317
+ * Is *tachanun* said today?
1318
+ */
1319
+ export declare type TachanunResult = {
1320
+ /** Tachanun is said at Shacharit */
1321
+ shacharit: boolean;
1322
+ /** Tachanun is said at Mincha */
1323
+ mincha: boolean;
1324
+ /** All congregations say Tachanun on the day */
1325
+ allCongs: boolean;
1326
+ };
1327
+
1328
+ /** An event that has an `eventTime` and `eventTimeStr` */
1329
+ export declare class TimedEvent extends Event_2 {
1330
+ readonly eventTime: Date;
1331
+ readonly location: Location_2;
1332
+ readonly eventTimeStr: string;
1333
+ readonly fmtTime: string;
1334
+ readonly linkedEvent?: Event_2;
1335
+ /**
1336
+ * @param {string} desc Description (not translated)
1337
+ */
1338
+ constructor(date: HDate, desc: string, mask: number, eventTime: Date, location: Location_2, linkedEvent?: Event_2, options?: CalOptions);
1339
+ /**
1340
+ * @param {string} [locale] Optional locale name (defaults to active locale).
1341
+ * @return {string}
1342
+ */
1343
+ render(locale?: string): string;
1344
+ /**
1345
+ * Returns translation of "Candle lighting" without the time.
1346
+ * @param {string} [locale] Optional locale name (defaults to active locale).
1347
+ * @return {string}
1348
+ */
1349
+ renderBrief(locale?: string): string;
1350
+ /** @return {string[]} */
1351
+ getCategories(): string[];
1352
+ }
1353
+
1354
+ /** DO NOT EDIT THIS AUTO-GENERATED FILE! */
1355
+ export declare const version = "5.4.6";
1356
+
1357
+ /**
1358
+ * Calculate halachic times (zmanim / זְמַנִּים) for a given day and location.
1359
+ * Calculations are available for tzeit / tzais (nightfall),
1360
+ * shkiah (sunset) and more.
1361
+ *
1362
+ * Zmanim are estimated using an algorithm published by the US National Oceanic
1363
+ * and Atmospheric Administration. The NOAA solar calculator is based on equations
1364
+ * from _Astronomical Algorithms_ by Jean Meeus.
1365
+ *
1366
+ * The sunrise and sunset results are theoretically accurate to within a minute for
1367
+ * locations between +/- 72° latitude, and within 10 minutes outside of those latitudes.
1368
+ * However, due to variations in atmospheric composition, temperature, pressure and
1369
+ * conditions, observed values may vary from calculations.
1370
+ * https://gml.noaa.gov/grad/solcalc/calcdetails.html
1371
+ *
1372
+ * @example
1373
+ * const {GeoLocation, Zmanim} = require('@hebcal/core');
1374
+ * const latitude = 41.822232;
1375
+ * const longitude = -71.448292;
1376
+ * const tzid = 'America/New_York';
1377
+ * const friday = new Date(2023, 8, 8);
1378
+ * const gloc = new GeoLocation(null, latitude, longitude, 0, tzid);
1379
+ * const zmanim = new Zmanim(gloc, friday, false);
1380
+ * const candleLighting = zmanim.sunsetOffset(-18, true);
1381
+ * const timeStr = Zmanim.formatISOWithTimeZone(tzid, candleLighting);
1382
+ */
1383
+ export declare class Zmanim {
1384
+ private readonly date;
1385
+ private readonly gloc;
1386
+ private readonly noaa;
1387
+ private useElevation;
1388
+ /**
1389
+ * Initialize a Zmanim instance.
1390
+ * @param {GeoLocation} gloc GeoLocation including latitude, longitude, and timezone
1391
+ * @param {Date|HDate} date Regular or Hebrew Date. If `date` is a regular `Date`,
1392
+ * hours, minutes, seconds and milliseconds are ignored.
1393
+ * @param {boolean} useElevation use elevation for calculations (default `false`).
1394
+ * If `true`, use elevation to affect the calculation of all sunrise/sunset based
1395
+ * zmanim. Note: there are some zmanim such as degree-based zmanim that are driven
1396
+ * by the amount of light in the sky and are not impacted by elevation.
1397
+ * These zmanim intentionally do not support elevation adjustment.
1398
+ */
1399
+ constructor(gloc: GeoLocation, date: Date | HDate, useElevation: boolean);
1400
+ /**
1401
+ * Returns `true` if elevation adjustment is enabled
1402
+ * for zmanim support elevation adjustment
1403
+ * @return {boolean}
1404
+ */
1405
+ getUseElevation(): boolean;
1406
+ /**
1407
+ * Enables or disables elevation adjustment for zmanim support elevation adjustment
1408
+ * @param {boolean} useElevation
1409
+ */
1410
+ setUseElevation(useElevation: boolean): void;
1411
+ /**
1412
+ * Convenience function to get the time when sun is above or below the horizon
1413
+ * for a certain angle (in degrees).
1414
+ * This function does not support elevation adjustment.
1415
+ * @param {number} angle
1416
+ * @param {boolean} rising
1417
+ * @return {Date}
1418
+ */
1419
+ timeAtAngle(angle: number, rising: boolean): Date;
1420
+ /**
1421
+ * Upper edge of the Sun appears over the eastern horizon in the morning (0.833° above horizon)
1422
+ * If elevation is enabled, this function will include elevation in the calculation.
1423
+ * @return {Date}
1424
+ */
1425
+ sunrise(): Date;
1426
+ /**
1427
+ * Upper edge of the Sun appears over the eastern horizon in the morning (0.833° above horizon).
1428
+ * This function does not support elevation adjustment.
1429
+ * @return {Date}
1430
+ */
1431
+ seaLevelSunrise(): Date;
1432
+ /**
1433
+ * When the upper edge of the Sun disappears below the horizon (0.833° below horizon).
1434
+ * If elevation is enabled, this function will include elevation in the calculation.
1435
+ * @return {Date}
1436
+ */
1437
+ sunset(): Date;
1438
+ /**
1439
+ * When the upper edge of the Sun disappears below the horizon (0.833° below horizon).
1440
+ * This function does not support elevation adjustment.
1441
+ * @return {Date}
1442
+ */
1443
+ seaLevelSunset(): Date;
1444
+ /**
1445
+ * Civil dawn; Sun is 6° below the horizon in the morning.
1446
+ * Because degree-based functions estimate the amount of light in the sky,
1447
+ * the result is not impacted by elevation.
1448
+ * @return {Date}
1449
+ */
1450
+ dawn(): Date;
1451
+ /**
1452
+ * Civil dusk; Sun is 6° below the horizon in the evening.
1453
+ * Because degree-based functions estimate the amount of light in the sky,
1454
+ * the result is not impacted by elevation.
1455
+ * @return {Date}
1456
+ */
1457
+ dusk(): Date;
1458
+ /**
1459
+ * Returns sunset for the previous day.
1460
+ * If elevation is enabled, this function will include elevation in the calculation.
1461
+ * @return {Date}
1462
+ */
1463
+ gregEve(): Date;
1464
+ /**
1465
+ * @private
1466
+ * @return {number}
1467
+ */
1468
+ nightHour(): number;
1469
+ /**
1470
+ * Midday – Chatzot; Sunrise plus 6 halachic hours
1471
+ * @return {Date}
1472
+ */
1473
+ chatzot(): Date;
1474
+ /**
1475
+ * Midnight – Chatzot; Sunset plus 6 halachic hours.
1476
+ * If elevation is enabled, this function will include elevation in the calculation.
1477
+ * @return {Date}
1478
+ */
1479
+ chatzotNight(): Date;
1480
+ /**
1481
+ * Dawn – Alot haShachar; Sun is 16.1° below the horizon in the morning.
1482
+ * Because degree-based functions estimate the amount of light in the sky,
1483
+ * the result is not impacted by elevation.
1484
+ * @return {Date}
1485
+ */
1486
+ alotHaShachar(): Date;
1487
+ /**
1488
+ * Earliest talis & tefillin – Misheyakir; Sun is 11.5° below the horizon in the morning.
1489
+ * Because degree-based functions estimate the amount of light in the sky,
1490
+ * the result is not impacted by elevation.
1491
+ * @return {Date}
1492
+ */
1493
+ misheyakir(): Date;
1494
+ /**
1495
+ * Earliest talis & tefillin – Misheyakir Machmir; Sun is 10.2° below the horizon in the morning.
1496
+ * Because degree-based functions estimate the amount of light in the sky,
1497
+ * the result is not impacted by elevation.
1498
+ * @return {Date}
1499
+ */
1500
+ misheyakirMachmir(): Date;
1501
+ /**
1502
+ * Utility method for using elevation-aware sunrise/sunset
1503
+ * @private
1504
+ * @param {number} hours
1505
+ * @return {Date}
1506
+ */
1507
+ getShaahZmanisBasedZman(hours: number): Date;
1508
+ /**
1509
+ * Latest Shema (Gra); Sunrise plus 3 halachic hours, according to the Gra.
1510
+ * If elevation is enabled, this function will include elevation in the calculation.
1511
+ * @return {Date}
1512
+ */
1513
+ sofZmanShma(): Date;
1514
+ /**
1515
+ * Latest Shacharit (Gra); Sunrise plus 4 halachic hours, according to the Gra.
1516
+ *
1517
+ * This method returns the latest *zman tfila* (time to recite shema in the morning)
1518
+ * that is 4 *shaos zmaniyos* (solar hours) after sunrise or sea level sunrise
1519
+ * (depending on the `useElevation` setting), according
1520
+ * to the [GRA](https://en.wikipedia.org/wiki/Vilna_Gaon).
1521
+ *
1522
+ * If elevation is enabled, this function will include elevation in the calculation.
1523
+ * @return {Date}
1524
+ */
1525
+ sofZmanTfilla(): Date;
1526
+ /**
1527
+ * Returns an array with alot (Date) and ms in hour (number)
1528
+ * @private
1529
+ */
1530
+ getTemporalHour72(forceSeaLevel: boolean): [Date, number];
1531
+ /**
1532
+ * Returns an array with alot (Date) and ms in hour (number)
1533
+ * @private
1534
+ */
1535
+ getTemporalHourByDeg(angle: number): [Date, number];
1536
+ /**
1537
+ * Latest Shema (MGA); Sunrise plus 3 halachic hours, according to Magen Avraham.
1538
+ * Based on the opinion of the MGA that the day is calculated from
1539
+ * dawn being fixed 72 minutes before sea-level sunrise, and nightfall is fixed
1540
+ * 72 minutes after sea-level sunset.
1541
+ * @return {Date}
1542
+ */
1543
+ sofZmanShmaMGA(): Date;
1544
+ /**
1545
+ * Latest Shema (MGA); Sunrise plus 3 halachic hours, according to Magen Avraham.
1546
+ * Based on the opinion of the MGA that the day is calculated from
1547
+ * dawn to nightfall with both being 16.1° below the horizon.
1548
+ * @return {Date}
1549
+ */
1550
+ sofZmanShmaMGA16Point1(): Date;
1551
+ /**
1552
+ * Latest Shema (MGA); Sunrise plus 3 halachic hours, according to Magen Avraham.
1553
+ * Based on the opinion of the MGA that the day is calculated from
1554
+ * dawn to nightfall with both being 19.8° below the horizon.
1555
+ *
1556
+ * This calculation is based on the position of the sun 90 minutes after sunset in Jerusalem
1557
+ * around the equinox / equilux which calculates to 19.8° below geometric zenith.
1558
+ * https://kosherjava.com/2022/01/12/equinox-vs-equilux-zmanim-calculations/
1559
+ * @return {Date}
1560
+ */
1561
+ sofZmanShmaMGA19Point8(): Date;
1562
+ /**
1563
+ * Latest Shacharit (MGA); Sunrise plus 4 halachic hours, according to Magen Avraham
1564
+ * @return {Date}
1565
+ */
1566
+ sofZmanTfillaMGA(): Date;
1567
+ /**
1568
+ * Latest Shacharit (MGA); Sunrise plus 4 halachic hours, according to Magen Avraham.
1569
+ * Based on the opinion of the MGA that the day is calculated from
1570
+ * dawn to nightfall with both being 16.1° below the horizon.
1571
+ * @return {Date}
1572
+ */
1573
+ sofZmanTfillaMGA16Point1(): Date;
1574
+ /**
1575
+ * Latest Shacharit (MGA); Sunrise plus 4 halachic hours, according to Magen Avraham.
1576
+ * Based on the opinion of the MGA that the day is calculated from
1577
+ * dawn to nightfall with both being 19.8° below the horizon.
1578
+ *
1579
+ * This calculation is based on the position of the sun 90 minutes after sunset in Jerusalem
1580
+ * around the equinox / equilux which calculates to 19.8° below geometric zenith.
1581
+ * https://kosherjava.com/2022/01/12/equinox-vs-equilux-zmanim-calculations/
1582
+ * @return {Date}
1583
+ */
1584
+ sofZmanTfillaMGA19Point8(): Date;
1585
+ /**
1586
+ * Earliest Mincha – Mincha Gedola (GRA); Sunrise plus 6.5 halachic hours.
1587
+ * If elevation is enabled, this function will include elevation in the calculation.
1588
+ *
1589
+ * This method returns the latest mincha gedola, the earliest time one can pray mincha
1590
+ * that is 6.5 shaos zmaniyos (solar hours) after sunrise or sea level sunrise
1591
+ * (depending on the `useElevation` setting), according
1592
+ * to the [GRA](https://en.wikipedia.org/wiki/Vilna_Gaon).
1593
+ *
1594
+ * The Ramba"m is of the opinion that it is better to delay *mincha* until
1595
+ * *mincha ketana* while the Ra"sh, Tur, GRA and others are of the
1596
+ * opinion that *mincha* can be prayed *lechatchila* starting at *mincha gedola*.
1597
+ * @return {Date}
1598
+ */
1599
+ minchaGedola(): Date;
1600
+ /**
1601
+ * Earliest Mincha – Mincha Gedola (MGA); Sunrise plus 6.5 halachic hours.
1602
+ * If elevation is enabled, this function will include elevation in the calculation.
1603
+ *
1604
+ * This method returns the time of *mincha gedola* according to the Magen Avraham
1605
+ * with the day starting 72 minutes before sunrise and ending 72 minutes after sunset.
1606
+ * This is the earliest time to pray *mincha*.
1607
+ * @return {Date}
1608
+ */
1609
+ minchaGedolaMGA(): Date;
1610
+ /**
1611
+ * Preferable earliest time to recite Minchah – Mincha Ketana; Sunrise plus 9.5 halachic hours.
1612
+ * If elevation is enabled, this function will include elevation in the calculation.
1613
+ *
1614
+ * This method returns *mincha ketana*, the preferred earliest time to pray *mincha* in the
1615
+ * opinion of the [Rambam](https://en.wikipedia.org/wiki/Maimonides) and others,
1616
+ * that is 9.5 *shaos zmaniyos* (solar hours) after sunrise or sea level sunrise
1617
+ * (depending on the `useElevation` setting), according
1618
+ * to the [GRA](https://en.wikipedia.org/wiki/Vilna_Gaon).
1619
+ * @return {Date}
1620
+ */
1621
+ minchaKetana(): Date;
1622
+ /**
1623
+ * This method returns the time of *mincha ketana* according to the Magen Avraham
1624
+ * with the day starting 72 minutes before sunrise and ending 72 minutes after sunset.
1625
+ * This is the preferred earliest time to pray *mincha* according to the opinion of
1626
+ * the [Rambam](https://en.wikipedia.org/wiki/Maimonides) and others.
1627
+ *
1628
+ * If elevation is enabled, this function will include elevation in the calculation.
1629
+ * @return {Date}
1630
+ */
1631
+ minchaKetanaMGA(): Date;
1632
+ /**
1633
+ * Plag haMincha; Sunrise plus 10.75 halachic hours.
1634
+ * If elevation is enabled, this function will include elevation in the calculation.
1635
+ * @return {Date}
1636
+ */
1637
+ plagHaMincha(): Date;
1638
+ /**
1639
+ * @param {number} [angle=8.5] optional time for solar depression.
1640
+ * Default is 8.5 degrees for 3 small stars, use 7.083 degrees for 3 medium-sized stars.
1641
+ * Because degree-based functions estimate the amount of light in the sky,
1642
+ * the result is not impacted by elevation.
1643
+ * @return {Date}
1644
+ */
1645
+ tzeit(angle?: number): Date;
1646
+ /**
1647
+ * Alias for sunrise
1648
+ * @return {Date}
1649
+ */
1650
+ neitzHaChama(): Date;
1651
+ /**
1652
+ * Alias for sunset
1653
+ * @return {Date}
1654
+ */
1655
+ shkiah(): Date;
1656
+ /**
1657
+ * Rabbeinu Tam holds that bein hashmashos is a specific time
1658
+ * between sunset and tzeis hakochavim.
1659
+ * One opinion on how to calculate this time is that
1660
+ * it is 13.5 minutes before tzies 7.083.
1661
+ * Because degree-based functions estimate the amount of light in the sky,
1662
+ * the result is not impacted by elevation.
1663
+ * @return {Date}
1664
+ */
1665
+ beinHaShmashos(): Date;
1666
+ /**
1667
+ * Uses timeFormat to return a date like '20:34'
1668
+ * @param {Date} dt
1669
+ * @param {Intl.DateTimeFormat} timeFormat
1670
+ * @return {string}
1671
+ */
1672
+ static formatTime(dt: Date, timeFormat: Intl.DateTimeFormat): string;
1673
+ /**
1674
+ * Discards seconds, rounding to nearest minute.
1675
+ * @param {Date} dt
1676
+ * @return {Date}
1677
+ */
1678
+ static roundTime(dt: Date): Date;
1679
+ /**
1680
+ * Get offset string (like "+05:00" or "-08:00") from tzid (like "Europe/Moscow")
1681
+ * @param {string} tzid
1682
+ * @param {Date} date
1683
+ * @return {string}
1684
+ */
1685
+ static timeZoneOffset(tzid: string, date: Date): string;
1686
+ /**
1687
+ * Returns a string like "2022-04-01T13:06:00-11:00"
1688
+ * @param {string} tzid
1689
+ * @param {Date} date
1690
+ * @return {string}
1691
+ */
1692
+ static formatISOWithTimeZone(tzid: string, date: Date): string;
1693
+ /**
1694
+ * Returns sunrise + `offset` minutes (either positive or negative).
1695
+ * If elevation is enabled, this function will include elevation in the calculation
1696
+ * unless `forceSeaLevel` is `true`.
1697
+ * @param {number} offset minutes
1698
+ * @param {boolean} roundMinute round time to nearest minute (default true)
1699
+ * @param {boolean} forceSeaLevel use sea-level sunrise (default false)
1700
+ * @return {Date}
1701
+ */
1702
+ sunriseOffset(offset: number, roundMinute?: boolean, forceSeaLevel?: boolean): Date;
1703
+ /**
1704
+ * Returns sunset + `offset` minutes (either positive or negative).
1705
+ * If elevation is enabled, this function will include elevation in the calculation
1706
+ * unless `forceSeaLevel` is `true`.
1707
+ * @param {number} offset minutes
1708
+ * @param {boolean} roundMinute round time to nearest minute (default true)
1709
+ * @param {boolean} forceSeaLevel use sea-level sunset (default false)
1710
+ * @return {Date}
1711
+ */
1712
+ sunsetOffset(offset: number, roundMinute?: boolean, forceSeaLevel?: boolean): Date;
1713
+ }
1714
+
1715
+ export { }