import * as holiday_jp from "@holiday-jp/holiday_jp"; import dayjs from "dayjs"; export type Holiday = Readonly<{ /** * Expression of date formatted in "YYYY-MM-DD" */ date: string; } & Omit>; /** * Union type of multiple values expressing date-time. * * - `number` : Unix timestamp in milliseconds * - `Date` : Build-in type * - `Dayjs` : dayjs is also supported * - `string` : Parse the given string in ISO 8601 format. For more details, please see [Day.js - Parse](https://day.js.org/docs/en/parse/string) */ export type DateLike = number | Date | dayjs.Dayjs | string; export declare const JST_TIMEZONE: "Asia/Tokyo"; /** * Checks whether the given date is holiday in Japan. * * The given date will be formatted in "YYYY-MM-DD" with "Asia/Tokyo"(+0900) timezone, * then used as key when searching for holidays. * * If ISO 8601 string given, parsed as "Asia/Tokyo" at first. * * @param date A Date-like value to be checked * @returns True if the given date is holiday otherwise false */ export declare function isHoliday(date: DateLike): boolean; /** * Finds all the holidays between the given dates * * Each holiday "YYYY-MM-DD" will be compared with the given `start` and `end` * in unit of date, where all the date values are manipulated "Asia/Tokyo". * Both `start` and `end` are inclusive. * * @param start Start date to find holiday * @param end End date to find holiday * @returns The holidays list between start and end, or empty list if none. */ export declare function between(start: DateLike, end: DateLike): Holiday[]; /** * All the holidays * * This is a reference to the original record defined in @holiday-jp/holiday_jp */ export declare const holidays: Readonly>;