import { BaseSingleInputFieldProps } from '@mui/x-date-pickers/internals';
import { DesktopDateRangePickerProps, DesktopDateRangePickerSlots, DesktopDateRangePickerSlotProps } from "../DesktopDateRangePicker/index.mjs";
import { MobileDateRangePickerProps, MobileDateRangePickerSlots, MobileDateRangePickerSlotProps } from "../MobileDateRangePicker/index.mjs";
import { ValidateDateRangeProps } from "../validation/index.mjs";
export interface DateRangePickerSlots extends DesktopDateRangePickerSlots, MobileDateRangePickerSlots {}
export interface DateRangePickerSlotProps extends DesktopDateRangePickerSlotProps, MobileDateRangePickerSlotProps {}
export interface DateRangePickerProps extends DesktopDateRangePickerProps, MobileDateRangePickerProps {
  /**
   * CSS media query when `Mobile` mode will be changed to `Desktop`.
   * @default '@media (pointer: fine)'
   * @example '@media (min-width: 720px)' or theme.breakpoints.up("sm")
   */
  desktopModeMediaQuery?: string;
  /**
   * Overridable component slots.
   * @default {}
   */
  slots?: DateRangePickerSlots;
  /**
   * The props used for each component slot.
   * @default {}
   */
  slotProps?: DateRangePickerSlotProps;
  /**
   * If `true`, the Picker will close after submitting the full date.
   * @default `true` for desktop, `false` for mobile (based on the chosen wrapper and `desktopModeMediaQuery` prop).
   */
  closeOnSelect?: boolean;
}
/**
 * Props the field can receive when used inside a Date Range Picker (<DateRangePicker />, <DesktopDateRangePicker /> or <MobileDateRangePicker /> component).
 */
export type DateRangePickerFieldProps = ValidateDateRangeProps & BaseSingleInputFieldProps;