import { HDate } from "./HDate";
import { JDate } from "./JDate";
import { ParashaScheme } from "./ParashaScheme";
import { GDate } from "./GDate";
export declare class Festival {
    private _israel;
    private type;
    private startDate;
    private _startsEve;
    static roshHashana(hyear: number): Festival;
    static gdalia(hyear: number): Festival;
    static yomKippur(hyear: number): Festival;
    static succot(hyear: number, israel: ParashaScheme): Festival;
    static hoshaanaRabba(hyear: number): Festival;
    static shminiAtseret(hyear: number, israel: ParashaScheme): Festival;
    static simchatTorah(hyear: number, israel: ParashaScheme): Festival;
    static chanuka(hyear: number): Festival;
    static tevet10(hyear: number): Festival;
    static shvat15(hyear: number): Festival;
    static purimQatan(hyear: number): Festival | null;
    static purimFast(hyear: number): Festival;
    static purim(hyear: number): Festival;
    static purimShushan(hyear: number): Festival;
    static pesach(hyear: number, israel: ParashaScheme): Festival;
    static yomHaShoa(hyear: number): Festival;
    static yomHaAtsmaut(hyear: number): Festival | null;
    static yomHaZicaron(hyear: number): Festival | null;
    static pesachSheni(hyear: number): Festival;
    static omer33(hyear: number): Festival;
    /**
     * Yom Yerushalaym is 28 Iyar, unless it falls on Friday, where it's advanced to Thu.
     */
    static yomYerushalaym(hyear: number): Festival;
    static shavuot(hyear: number, israel: ParashaScheme): Festival;
    static tamuz17(hyear: number): Festival;
    static av9(hyear: number): Festival;
    static av15(hyear: number): Festival;
    static onDate(hdate: HDate, israel: ParashaScheme): Festival[];
    contains(jdate: JDate): boolean;
    getEndDate(): HDate;
    getStartDate(): HDate;
    private constructor();
    getName(): string;
    getYamimTovim(): boolean[];
    /**
     * Returns the Gregorian day _whose evening_ (Arvit) is first time
     * we recite Barekh Aleinu (winter prayer in Amida)
     * In Israel: 7th Cheshvan
     * In Hu"L : Dec. 4th (or 5th, if the following Greg year is a leap year).
     *           If Friday night -> postponed to Sat. night.
     */
    static winterEve(gyear: number, israel: ParashaScheme): GDate;
    private readonly endDate;
    private readonly yamimTovim;
    private static readonly executorMap;
    private static make;
}
