import * as React from 'react'; import { DefaultizedProps } from '../internals/models/helpers'; import { DateTimeValidationError } from '../models'; import { DateCalendarSlotsComponent, DateCalendarSlotsComponentsProps, ExportedDateCalendarProps } from '../DateCalendar/DateCalendar.types'; import { TimeClockSlotsComponent, TimeClockSlotsComponentsProps } from '../TimeClock/TimeClock.types'; import { BasePickerInputProps } from '../internals/models/props/basePickerProps'; import { DateTimePickerTabsProps, ExportedDateTimePickerTabsProps } from './DateTimePickerTabs'; import { BaseDateValidationProps, BaseTimeValidationProps, DateTimeValidationProps } from '../internals/models/validation'; import { LocalizedComponent } from '../locales/utils/pickersLocaleTextApi'; import { DateTimePickerToolbarProps, ExportedDateTimePickerToolbarProps } from './DateTimePickerToolbar'; import { PickerViewRendererLookup } from '../internals/hooks/usePicker/usePickerViews'; import { DateViewRendererProps } from '../dateViewRenderers'; import { TimeViewRendererProps } from '../timeViewRenderers'; import { UncapitalizeObjectKeys } from '../internals/utils/slots-migration'; import { BaseClockProps, ExportedBaseClockProps } from '../internals/models/props/clock'; import { DateOrTimeViewWithMeridiem, TimeViewWithMeridiem } from '../internals/models'; export interface BaseDateTimePickerSlotsComponent extends DateCalendarSlotsComponent, TimeClockSlotsComponent { /** * Tabs enabling toggling between date and time pickers. * @default DateTimePickerTabs */ Tabs?: React.ElementType; /** * Custom component for the toolbar rendered above the views. * @default DateTimePickerToolbar */ Toolbar?: React.JSXElementConstructor>; } export interface BaseDateTimePickerSlotsComponentsProps extends DateCalendarSlotsComponentsProps, TimeClockSlotsComponentsProps { /** * Props passed down to the tabs component. */ tabs?: ExportedDateTimePickerTabsProps; /** * Props passed down to the toolbar component. */ toolbar?: ExportedDateTimePickerToolbarProps; } export interface BaseDateTimePickerProps extends BasePickerInputProps, Omit, 'onViewChange'>, ExportedBaseClockProps, DateTimeValidationProps { /** * Display ampm controls under the clock (instead of in the toolbar). * @default true on desktop, false on mobile */ ampmInClock?: boolean; /** * Overridable components. * @default {} * @deprecated Please use `slots`. */ components?: BaseDateTimePickerSlotsComponent; /** * The props used for each component slot. * @default {} * @deprecated Please use `slotProps`. */ componentsProps?: BaseDateTimePickerSlotsComponentsProps; /** * Overridable component slots. * @default {} */ slots?: UncapitalizeObjectKeys>; /** * The props used for each component slot. * @default {} */ slotProps?: BaseDateTimePickerSlotsComponentsProps; /** * Define custom view renderers for each section. * If `null`, the section will only have field editing. * If `undefined`, internally defined view will be the used. */ viewRenderers?: Partial & TimeViewRendererProps>, {}>>; } type UseDateTimePickerDefaultizedProps> = LocalizedComponent | keyof BaseTimeValidationProps>>; export declare function useDateTimePickerDefaultizedProps>(props: Props, name: string): Omit, 'components' | 'componentsProps'>; export {};