import { DateInput, DateTime } from './DateAdapter'; import { IRecurrenceRuleModule, NormRecurrenceRulesOptions, RecurrenceRulesOptions, } from './recurrence-rule'; export declare class RuleOptionError extends Error {} export declare namespace RuleOption { type Start = DateInput; type End = Start; type Duration = number; type Count = number; } export interface IRuleOptionsBase { start: RuleOption.Start; end?: RuleOption.End; duration?: RuleOption.Duration; count?: RuleOption.Count; } export interface INormRuleOptionsBase { start: DateTime; end?: DateTime; duration?: RuleOption.Duration; count?: RuleOption.Count; } export interface IRuleOptions extends IRuleOptionsBase {} export interface INormRuleOptions extends INormRuleOptionsBase {} export declare function normalizeRuleOptions< T extends readonly IRecurrenceRuleModule[] >( recurrenceModules: T, options: RecurrenceRulesOptions, ): NormRecurrenceRulesOptions; export declare function cloneRuleOptions( options: T, ): T;