import type { QuietHoursConfig } from "./types.ts"; /** * Evaluates do-not-disturb / quiet-hours conditions from a config. * * - If config is undefined or `enabled: false`, all checks return `false` * (never quiet). * - Supports per-range day-of-week filtering. * - Supports midnight-crossover ranges (e.g., 22:00–07:00). * - Supports timezone-aware evaluation via `Intl.DateTimeFormat`. */ export declare class QuietHours { private config?; constructor(config?: QuietHoursConfig); /** * Check if the given time (default: now) falls within any configured * quiet range. * * Returns `false` immediately when: * - config is undefined * - config.enabled is false * - config.ranges is empty */ isQuiet(now?: Date): boolean; /** * Return the Date when the currently active quiet period ends. * Returns `null` if not currently quiet. * * For midnight-crossover ranges, the end Date may be on the following day. * For full-day ranges (start === end), the end is 24 hours from now. */ nextActiveTime(now?: Date): Date | null; /** No-op for interface consistency. */ dispose(): void; /** * Build a Date representing `endMinutes` minutes since midnight. * * @param base — reference date (used for year/month/day) * @param endMinutes — minutes since midnight for the end time * @param isCrossOver — whether the range crosses midnight (end < start) */ private buildEndDate; } //# sourceMappingURL=quiet-hours.d.ts.map