export type RecurrenceFrequency = 'secondly' | 'minutely' | 'hourly' | 'daily' | 'weekly' | 'monthly' | 'yearly'; export interface WeekdayOrdinal { ordinal: number; weekday: number; } export interface RecurrenceRule { frequency: RecurrenceFrequency; interval: number; count?: number; until?: unknown; byWeekday?: number[]; byWeekdayOrdinal?: WeekdayOrdinal[]; byMonthDay?: number[]; byMonth?: number[]; byWeek?: number[]; exDates?: unknown[]; rDates?: unknown[]; } export interface RecurrenceIterator { next(): { value: unknown; done: boolean; } | { value: undefined; done: true; }; previous(): { value: unknown; done: boolean; } | { value: undefined; done: true; }; } export declare function recurrence(start: unknown, rule: RecurrenceRule): RecurrenceIterator; export declare function take(iter: RecurrenceIterator, n: number): unknown[]; export declare function skip(iter: RecurrenceIterator, n: number): unknown[]; export declare function between(start: unknown, rule: RecurrenceRule, rangeStart: unknown, rangeEnd: unknown): unknown[]; export declare function parseRRule(input: string): RecurrenceRule; export declare function formatRRule(rule: RecurrenceRule): string;