import type { DateFrameworkType } from "@salt-ds/date-adapters"; import { type ComponentPropsWithoutRef, type SyntheticEvent } from "react"; import { type CalendarGridProps, type CalendarNavigationProps, type CalendarOffsetProps, type CalendarRangeProps, type DateRangeSelection } from "../calendar"; /** * Props for the DatePickerRangePanel component. * @template TDate - The type of the date object. */ export interface DatePickerRangePanelProps extends ComponentPropsWithoutRef<"div"> { /** * Callback fired when a date range is selected. * @param event - The synthetic event. * @param selectedDate - The selected date range or null. */ onSelectionChange?: (event: SyntheticEvent, selectedDate?: DateRangeSelection | null) => void; /** * Helper text to be displayed below the date picker. */ helperText?: string; /** * The currently visible month for the start date. */ startVisibleMonth?: TDate; /** * The default visible month for the start date. */ defaultStartVisibleMonth?: TDate; /** * Callback fired when the visible month for the start date changes. * @param event - The synthetic event, or null if called by effect. * @param visibleMonth - The new visible month for the start date. */ onStartVisibleMonthChange?: (event: SyntheticEvent | null, visibleMonth: TDate) => void; /** * The currently visible month for the end date. */ endVisibleMonth?: TDate; /** * The default visible month for the end date. */ defaultEndVisibleMonth?: TDate; /** * Callback fired when the visible month for the end date changes. * @param event - The synthetic event or null if triggered by code. * @param visibleMonth - The new visible month for the end date. */ onEndVisibleMonthChange?: (event: SyntheticEvent | null, visibleMonth: TDate) => void; /** * Callback fired when the focused date changes. * @param event - The synthetic event or null if triggered by code. * @param focusedDate - The new focused date. */ onFocusedDateChange?: (event: SyntheticEvent | null, focusedDate?: TDate | null) => void; /** * Callback fired when the hovered date changes. * @param event - The synthetic event. * @param hoveredDate - The new hovered date. */ onHoveredDateChange?: (event: SyntheticEvent, hoveredDate?: TDate | null) => void; /** * Props to be passed to the start date CalendarNavigation component. */ StartCalendarNavigationProps?: CalendarNavigationProps; /** * Props to be passed to the start date calendar component. */ StartCalendarProps?: Partial | CalendarOffsetProps, "selectedDate" | "defaultSelectedDate" | "multiselect" | "onFocusedDateChange" | "onHoveredDateChange" | "onSelectionChange" | "onVisibleMonthChange">>; /** * Props to be passed to the start date CalendarGrid component. */ StartCalendarGridProps?: CalendarGridProps; /** * Props to be passed to the end date CalendarNavigation component. */ EndCalendarProps?: Partial, "selectedDate" | "defaultSelectedDate" | "multiselect" | "onFocusedDateChange" | "onHoveredDateChange" | "onSelectionChange" | "onVisibleMonthChange">>; /** * Props to be passed to the end date CalendarNavigation component. */ EndCalendarNavigationProps?: CalendarNavigationProps; /** * Props to be passed to the end date CalendarGrid component. */ EndCalendarGridProps?: CalendarGridProps; } export declare const DatePickerRangePanel: import("react").ForwardRefExoticComponent & import("react").RefAttributes>;