// RFC 5545 (iCalendar) Recurrence Rule types
// Based on the iCalendar specification for RRULE

export type Frequency =
	| "SECONDLY"
	| "MINUTELY"
	| "HOURLY"
	| "DAILY"
	| "WEEKLY"
	| "MONTHLY"
	| "YEARLY";

export type Weekday = "SU" | "MO" | "TU" | "WE" | "TH" | "FR" | "SA";

export interface RecurrenceRule {
	freq: Frequency;
	until?: string; // ISO 8601 date string
	count?: number;
	interval?: number;
	bySecond?: number[];
	byMinute?: number[];
	byHour?: number[];
	byDay?: string[];
	byMonthDay?: number[];
	byYearDay?: number[];
	byWeekNo?: number[];
	byMonth?: number[];
	bySetPos?: number[];
	wkst?: Weekday;
}
