import * as React from 'react'; import IconButton from '@mui/material/IconButton'; import { SlideDirection } from './PickersSlideTransition'; import { ExportedDateValidationProps } from '../internals/hooks/validation/useDateValidation'; import { ExportedArrowSwitcherProps, PickersArrowSwitcherSlotsComponent, PickersArrowSwitcherSlotsComponentsProps } from '../internals/components/PickersArrowSwitcher'; import { CalendarPickerView } from '../internals/models'; import { PickersCalendarHeaderClasses } from './pickersCalendarHeaderClasses'; export declare type ExportedCalendarHeaderProps = Pick, 'getViewSwitchingButtonText' | 'leftArrowButtonText' | 'rightArrowButtonText' | 'classes'>; export interface PickersCalendarHeaderSlotsComponent extends PickersArrowSwitcherSlotsComponent { /** * Button displayed to switch between different calendar views. * @default IconButton */ SwitchViewButton: React.ElementType; /** * Icon displayed in the SwitchViewButton. Rotated by 180° when the open view is 'year'. * @default ArrowDropDown */ SwitchViewIcon: React.ElementType; } export interface PickersCalendarHeaderComponentsPropsOverrides { } export interface PickersCalendarHeaderSlotsComponentsProps extends PickersArrowSwitcherSlotsComponentsProps { switchViewButton: React.ComponentPropsWithRef & PickersCalendarHeaderComponentsPropsOverrides; } export interface PickersCalendarHeaderProps extends ExportedArrowSwitcherProps, Omit, 'shouldDisableDate'> { /** * Overrideable components. * @default {} */ components?: Partial; /** * The props used for each component slot. * @default {} */ componentsProps?: Partial; currentMonth: TDate; disabled?: boolean; views: readonly CalendarPickerView[]; /** * Get aria-label text for switching between views button. * @param {CalendarPickerView} currentView The view from which we want to get the button text. * @returns {string} The label of the view. * @deprecated Use the `localeText` prop of `LocalizationProvider` instead, see https://mui.com/x/react-date-pickers/localization/. */ getViewSwitchingButtonText?: (currentView: CalendarPickerView) => string; onMonthChange: (date: TDate, slideDirection: SlideDirection) => void; openView: CalendarPickerView; reduceAnimations: boolean; onViewChange?: (view: CalendarPickerView) => void; labelId?: string; classes?: Partial; } /** * @ignore - do not document. */ export declare function PickersCalendarHeader(inProps: PickersCalendarHeaderProps): JSX.Element | null;