export type HolidayType = 'regular' | 'special_non_working' | 'special_working'; export interface Holiday { /** ISO date string (YYYY-MM-DD). */ date: string; /** Official holiday name. */ name: string; /** Pay-rule type — see `PAY_MULTIPLIER` for the labor-code multiplier. */ type: HolidayType; /** Proclamation number, when the holiday is declared by a separate proclamation (Islamic holidays). */ proclamation?: string; } /** * Department of Labor and Employment pay-rule multipliers for hours worked on each holiday type. * - Regular holiday worked: 200% base (1 day's wage even if not worked + 100% premium = 200%). * - Special non-working worked: 130% base. * - Special working: 100% (no premium). * * See DOLE Handbook on Workers' Statutory Monetary Benefits. */ export declare const PAY_MULTIPLIER: Record; /** * Return all PH holidays for the given year. * * Throws `RangeError` if the year is not in the bundled dataset. * * @example * listHolidaysOfYear(2026); * // [{ date: '2026-01-01', name: "New Year's Day", type: 'regular' }, ...] */ export declare function listHolidaysOfYear(year: number): Holiday[]; /** * Look up the holiday on a specific date, if any. * * Returns `null` for non-holiday dates. * * @example * findHoliday('2026-12-25'); * // { date: '2026-12-25', name: 'Christmas Day', type: 'regular' } */ export declare function findHoliday(date: string | Date): Holiday | null; /** * True if the date is any kind of PH holiday (regular, special non-working, or special working). * * Pass `{ types: [...] }` to restrict to specific types — e.g., to check "is this a paid day off?", * use `{ types: ['regular', 'special_non_working'] }`. * * @example * isHoliday('2026-12-25'); // true * isHoliday('2026-02-25', { types: ['regular'] }); // false (special_working) * isHoliday('2026-02-25', { types: ['special_working'] }); // true */ export declare function isHoliday(date: string | Date, opts?: { types?: HolidayType[]; }): boolean; /** * Find the next PH holiday on or after the given date. * * Pass `{ types: [...] }` to filter by type. Returns `null` if no holiday is found before the * dataset's last covered year ends. * * @example * nextHoliday('2026-05-21'); * // { date: '2026-06-12', name: 'Independence Day', type: 'regular' } */ export declare function nextHoliday(from: string | Date, opts?: { types?: HolidayType[]; inclusive?: boolean; }): Holiday | null; /** * List the years for which holiday data is bundled. */ export declare function listHolidayYears(): number[];