/**
 * Shared date utilities for calendar and date-picker components
 * @countermeasure/web-components/utils/date
 */
export type WeekStart = 0 | 1;
export declare const DAYS_SUN: readonly ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"];
export declare const DAYS_MON: readonly ["Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"];
export declare const MONTHS: readonly ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
/** Strip the time portion from a Date, returning midnight of that day */
export declare function stripTime(d: Date): Date;
/** Check whether two dates fall on the same calendar day */
export declare function isSameDay(a: Date, b: Date): boolean;
/** Check whether a date falls strictly between start and end (exclusive) */
export declare function isBetween(date: Date, start: Date, end: Date): boolean;
/**
 * Build a 6-week (42-day) grid of dates for a given month view.
 * Returns plain Date objects; the first entry is the start of the
 * first visible week (may be in the previous month).
 */
export declare function buildDayGrid(viewYear: number, viewMonth: number, weekStart: WeekStart): Date[];
/**
 * Check whether a date should be disabled based on min/max bounds
 * and an optional disabled-dates predicate or array.
 */
export declare function isDateDisabled(date: Date, minDate?: Date | null, maxDate?: Date | null, disabledDates?: Date[] | ((date: Date) => boolean)): boolean;
//# sourceMappingURL=date.d.ts.map