import * as React from 'react';
import { DefaultizedProps } from '@mui/x-internals/types';
import { LocalizedComponent } from '@mui/x-date-pickers/locales';
import { BasePickerInputProps, PickerViewRendererLookup, PickerRangeValue } from '@mui/x-date-pickers/internals';
import { DateRangeValidationError } from "../models/index.js";
import { DateRangeCalendarSlots, DateRangeCalendarSlotProps, ExportedDateRangeCalendarProps } from "../DateRangeCalendar/index.js";
import { DateRangePickerToolbarProps, ExportedDateRangePickerToolbarProps } from "./DateRangePickerToolbar.js";
import { DateRangeViewRendererProps } from "../dateRangeViewRenderers/index.js";
import { ValidateDateRangePropsToDefault } from "../validation/validateDateRange.js";
export interface BaseDateRangePickerSlots extends DateRangeCalendarSlots {
  /**
   * Custom component for the toolbar rendered above the views.
   * @default DateTimePickerToolbar
   */
  toolbar?: React.JSXElementConstructor<DateRangePickerToolbarProps>;
}
export interface BaseDateRangePickerSlotProps extends DateRangeCalendarSlotProps {
  toolbar?: ExportedDateRangePickerToolbarProps;
}
export interface BaseDateRangePickerProps extends Omit<BasePickerInputProps<PickerRangeValue, 'day', DateRangeValidationError>, 'view' | 'views' | 'openTo' | 'onViewChange' | 'orientation'>, ExportedDateRangeCalendarProps {
  /**
   * Overridable component slots.
   * @default {}
   */
  slots?: BaseDateRangePickerSlots;
  /**
   * The props used for each component slot.
   * @default {}
   */
  slotProps?: BaseDateRangePickerSlotProps;
  /**
   * Define custom view renderers for each section.
   * If `null`, the section will only have field editing.
   * If `undefined`, internally defined view will be used.
   */
  viewRenderers?: Partial<PickerViewRendererLookup<PickerRangeValue, 'day', DateRangeViewRendererProps<'day'>>>;
}
type UseDateRangePickerDefaultizedProps<Props extends BaseDateRangePickerProps> = LocalizedComponent<DefaultizedProps<Props, ValidateDateRangePropsToDefault>>;
export declare function useDateRangePickerDefaultizedProps<Props extends BaseDateRangePickerProps>(props: Props, name: string): UseDateRangePickerDefaultizedProps<Props>;
export {};