/** `end` is null while a range is open. */ export interface DateRangeSelection { start: Date | null; end: Date | null; } /** * A click opens a range or closes the open one; a single day is the same day twice. No single-day * mode, which could strand a user unable to express a range. Bounds come back ordered. */ export declare function nextRangeSelection(current: DateRangeSelection, date: Date): DateRangeSelection; /** * `null` unless a range is open, tested exactly as {@link nextRangeSelection} does, so the preview * never shows a span the next click would not produce. */ export declare function previewEndFor(current: DateRangeSelection, hovered: Date | null): Date | null;