import { DataTrackingId, IanaZone } from '../../types'; import { MaskedDateRangeInputProps } from './internal/MaskedDateRangeInput'; import { DateMode } from '../DateFieldSingle/types'; export type DateFieldRangeChange = { /** * The start date in ISO 8601 format. * @example "2025-03-22" */ startDate: string | null; /** * The end date in ISO 8601 format. * @example "2025-07-02" */ endDate: string | null; /** * Whether the input field contains two parsable dates. * This is not the same as the date range being valid. * */ isInputValid: boolean; /** * Whether the input field is empty. */ isInputEmpty: boolean; /** * Whether the start and end dates are valid according to the constraints. * Constraints include: * - Required * - Unavailable dates * - Unavailable days of the week * - Min date * - Max date */ isDateRangeValid: boolean; }; export type DateFieldRangeChangeHandler = (change: DateFieldRangeChange) => void; export type DateFieldRangeValue = { startDate: string | null; endDate: string | null; } | null; export type DateFieldRangeProps = Omit & { value?: DateFieldRangeValue; defaultValue?: DateFieldRangeValue; onChange?: DateFieldRangeChangeHandler; mode?: Extract; disableHint?: boolean; disableCalendar?: boolean; unavailable?: { dates?: string[]; daysOfWeek?: (1 | 2 | 3 | 4 | 5 | 6 | 7)[]; }; minDate?: string; maxDate?: string; required?: boolean; onFocus?: (event: React.FocusEvent) => void; onBlur?: (event: React.FocusEvent) => void; /** * The IANA timezone to use for the calendar. Controls the meaning of the "Today" * button and which month/year is initially displayed. When the timezone differs * from the user's locale timezone, a disambiguation message is shown below the calendar. * @example "America/Los_Angeles" */ timezone?: IanaZone; } & DataTrackingId; export declare const DateFieldRange: { (props: DateFieldRangeProps): import("react/jsx-runtime").JSX.Element; displayName: string; };