import * as React from 'react'; import { DefaultizedProps } from '../internals/models/helpers'; import { DateTimeValidationError, PickerValidDate } from '../models'; import { DateCalendarSlots, DateCalendarSlotProps, ExportedDateCalendarProps } from '../DateCalendar/DateCalendar.types'; import { TimeClockSlots, TimeClockSlotProps } 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 { BaseClockProps, ExportedBaseClockProps } from '../internals/models/props/clock'; import { DateOrTimeViewWithMeridiem, TimeViewWithMeridiem } from '../internals/models'; export interface BaseDateTimePickerSlots extends DateCalendarSlots, TimeClockSlots { /** * 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 BaseDateTimePickerSlotProps extends DateCalendarSlotProps, TimeClockSlotProps { /** * Props passed down to the tabs component. */ tabs?: ExportedDateTimePickerTabsProps; /** * Props passed down to the toolbar component. */ toolbar?: ExportedDateTimePickerToolbarProps; } export type DateTimePickerViewRenderers = PickerViewRendererLookup, 'slots' | 'slotProps'> & Omit>, 'slots' | 'slotProps'>, TAdditionalProps>; 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 component slots. * @default {} */ slots?: BaseDateTimePickerSlots; /** * The props used for each component slot. * @default {} */ slotProps?: BaseDateTimePickerSlotProps; /** * 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>; } type UseDateTimePickerDefaultizedProps> = LocalizedComponent | keyof BaseTimeValidationProps>>; export declare function useDateTimePickerDefaultizedProps>(props: Props, name: string): UseDateTimePickerDefaultizedProps; export {};