/** * date-restrict - predicates for calendar constraints: min/max bounds, * `restrictedDates` (non-selectable), and `importantDates` (highlighted but * still selectable). Mirrors Smart's calendar constraint model. Framework-free. */ import { type DateLike } from './date-core'; export type RestrictOptions = { min?: DateLike | null; max?: DateLike | null; /** Individual dates (or predicate) that cannot be selected. */ restrictedDates?: ReadonlyArray | ((d: Date) => boolean) | null; }; /** True when `d` is outside the inclusive [min, max] day range. */ export declare function isOutOfRange(d: Date, min?: DateLike | null, max?: DateLike | null): boolean; /** True when `d` is explicitly restricted (by list membership or predicate). */ export declare function isRestricted(d: Date, restrictedDates?: ReadonlyArray | ((day: Date) => boolean) | null): boolean; /** * True when `d` cannot be selected: out of [min, max] OR restricted. This is * the single predicate the calendar/pickers use to disable a day. */ export declare function isDisabledDay(d: Date, opts: RestrictOptions): boolean; /** True when `d` is flagged important (highlighted). Never affects selectability. */ export declare function isImportant(d: Date, importantDates?: ReadonlyArray | ((day: Date) => boolean) | null): boolean;