/** * @license EUPL-1.2+ * Copyright Gemeente Amsterdam */ import type { DateRange } from './DatePicker'; /** Whether the date is before `minDate` or after `maxDate` (comparing by day). */ export declare const isOutOfBounds: (date: Date, minDate?: Date, maxDate?: Date) => boolean; /** Whether the date falls strictly between the range’s start and end. */ export declare const isWithinRange: (date: Date, { start, end }: DateRange) => boolean; /** * Computes the next range when a date is picked. * Starts a fresh range when there is no start yet, when the range is already complete, * or when the picked date precedes the current start; otherwise it completes the range. */ export declare const nextRange: ({ start, end }: DateRange, date: Date) => DateRange; /** Returns a new date `amount` days from the given date. */ export declare const addDays: (date: Date, amount: number) => Date; /** Returns the same day `amount` months away, clamped to the target month’s last day. */ export declare const addMonths: (date: Date, amount: number) => Date; /** Returns the same day `amount` years away, clamped to the target month’s last day. */ export declare const addYears: (date: Date, amount: number) => Date; /** Returns the Monday of the week containing the given date. */ export declare const startOfWeek: (date: Date) => Date; /** Returns the Sunday of the week containing the given date. */ export declare const endOfWeek: (date: Date) => Date; /** * The separator that joins fragments of an accessible name, matching the locale’s script. * Arabic locales use the Arabic comma (U+060C), keeping it consistent with the comma that * `Intl` already places inside the dates it formats for them. */ export declare const getListSeparator: (locale?: string) => string; /** * Returns the date that keyboard focus should move to for a navigation key, * or `undefined` when the key does not move focus. */ export declare const getNextFocusDate: (key: string, shiftKey: boolean, date: Date) => Date | undefined;