import { Event } from '@hebcal/core/dist/esm/event'; import { HolidayEvent } from '@hebcal/core/dist/esm/HolidayEvent'; import { WriteStream } from 'node:fs'; import { Leyning } from './types.js'; export interface StringToBoolMap { [key: string]: boolean; } /** * Builds a set of the dates (as strings) on which a parashat hashavua is * read, so holiday readings falling on those Shabbatot can be de-duplicated. * @param events a list of Hebcal events * @returns a map whose keys are the parsha dates, each set to `true` */ export declare function getParshaDates(events: Event[]): StringToBoolMap; /** * Writes a full-year Full Kriyah CSV (all parshiyot and holidays) to a * stream, including the header row. * @param stream destination writable stream * @param hyear Hebrew year * @param il `true` for the Israel schedule */ export declare function writeFullKriyahCsv(stream: WriteStream, hyear: number, il: boolean): void; /** * Writes the CSV line(s) for a single parsha or holiday event, including any * Mincha reading and the Erev Simchat Torah special case. * @param stream destination writable stream * @param ev the parsha or holiday event * @param il `true` for the Israel schedule */ export declare function writeFullKriyahEvent(stream: WriteStream, ev: Event, il: boolean): void; /** * Writes the CSV line(s) for a holiday's Mincha (afternoon) reading, if any. * @param stream destination writable stream * @param ev the holiday event * @param il `true` for the Israel schedule */ export declare function writeHolidayMincha(stream: WriteStream, ev: HolidayEvent, il: boolean): void; /** * Writes the CSV rows for one reading: one row per aliyah, plus rows for the * Haftarah, any Sephardic/alternate Haftarah, and any megillah, followed by a * blank line separating readings. * @param stream destination writable stream * @param ev the event this reading belongs to * @param reading the computed leyning to format * @param il `true` for the Israel schedule * @param isParsha `true` if `ev` is a parashat hashavua (vs. a holiday) */ export declare function writeCsvLines(stream: WriteStream, ev: Event, reading: Leyning, il: boolean, isParsha: boolean): void;