UNPKG

@rschedule/rschedule

Version:

A typescript library for working with recurring dates and events.

23 lines (18 loc) 991 B
import { DateAdapter } from '../date-adapter'; import { Dates } from '../dates'; import { Rule } from '../rule'; import { DateInput } from '../utilities'; import { IOccurrenceGenerator } from './occurrence-generator'; export interface IScheduleLike<T extends typeof DateAdapter> extends IOccurrenceGenerator<T> { readonly rrules: ReadonlyArray<Rule<T>>; readonly exrules: ReadonlyArray<Rule<T>>; readonly rdates: Dates<T>; readonly exdates: Dates<T>; add(prop: 'rrule' | 'exrule', value: Rule<T, unknown>): IScheduleLike<T>; add(prop: 'rdate' | 'exdate', value: DateInput<T>): IScheduleLike<T>; remove(prop: 'rrule' | 'exrule', value: Rule<T, unknown>): IScheduleLike<T>; remove(prop: 'rdate' | 'exdate', value: DateInput<T>): IScheduleLike<T>; set(prop: 'timezone', value: string | null): IScheduleLike<T>; set(prop: 'rrules' | 'exrules', value: Rule<T, unknown>[]): IScheduleLike<T>; set(prop: 'rdates' | 'exdates', value: Dates<T, unknown>): IScheduleLike<T>; }