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;
