import { DateTime } from 'luxon'; import type { Reminder, ReminderSchedule } from '../../shared/reminder.js'; export { systemTimezone } from '../schedule/local-time.js'; declare const WEEKDAYS: readonly ["sun", "mon", "tue", "wed", "thu", "fri", "sat"]; type Weekday = (typeof WEEKDAYS)[number]; export declare function parseDurationMs(value: string): number; export declare function parseRepeatRule(rule: string, timezone: string): ReminderSchedule; /** * Parse `--window mon-fri@08:00-18:30` (or explicit weekday lists). * v1 rejects overnight windows (end must be strictly after start on the same day). */ export declare function parseWindowRule(windowRule: string): { weekdays: Weekday[]; windowEnd: string; windowStart: string; }; export declare function buildWindowedIntervalSchedule(input: { repeatRule: string; timezone: string; windowRule: string; }): Extract; export declare function nextDueAtForSchedule(schedule: ReminderSchedule, after: Date, intervalFallbackAnchor?: string): string; /** * Local wall-clock grid slots for one calendar day (inclusive). * * Contract: one wake per valid local grid *label* (HH:mm). * - Spring forward: skip nonexistent labels (e.g. 02:00–02:59 on US DST start). * - Fall back: do not emit duplicate labels for the repeated hour; resolve each * label once (Luxon default = earlier offset). * Built by stepping labels from windowStart, not by UTC/`plus` continuum walks * that re-visit fallback labels. */ export declare function windowedSlotsOnLocalDay(schedule: Extract, day: DateTime): DateTime[]; export declare function initialDueAt(input: { delaySeconds?: number; fireAt?: string; now: Date; schedule: ReminderSchedule; }): string; export declare function reminderActivityPayload(tool: string, reminder: Reminder): Record; export declare function reminderActivityFields(reminder: Reminder): Record; /** Human-facing schedule fragment for list/activity (includes window when present). */ export declare function scheduleDisplayRule(schedule: ReminderSchedule): string | undefined; //# sourceMappingURL=reminder.helper.d.ts.map