import { DateTime } from 'luxon'; /** * Converts a JS Date (created with local timezone midnight) to a UTC Luxon DateTime * preserving the local date components (year, month, day). * * This is necessary because maskitoParseDate creates Date objects using * `new Date(year, month, day)` which produces midnight in the local timezone. * Directly using DateTime.fromJSDate with zone: "utc" can shift the *calendar day* * for timezones where local midnight falls on a different UTC date (typically * positive-offset zones), which would change the intended date. */ export declare function jsDateToUtcDateTime(jsDate: Date): DateTime; /** * Converts an ISO 8601 string (potentially with a timezone offset, e.g. * "2024-01-12T00:00:00.000+04:00") to a UTC Luxon DateTime preserving the * local date components (year, month, day). * * This is necessary because the Calendar component emits ISO strings with the * configured timezone offset. Parsing with zone: "utc" would shift the * calendar day for positive-offset zones, while parsing with the original * timezone produces a non-UTC DateTime that mismatches internal validation. */ export declare function isoToUtcDate(isoString: string): DateTime; export declare function convertStringToDate(v: string | null | undefined): DateTime | null | undefined; export declare function validateDate({ date, constraints, }: { date: DateTime | null; constraints: { required?: boolean; unavailable?: { dates?: DateTime[]; daysOfWeek?: number[]; }; minDate?: DateTime; maxDate?: DateTime; }; }): boolean;