import * as React from 'react'; import { DefaultizedProps } from '@mui/x-internals/types'; import { DateOrTimeView, DateTimeValidationError } from "../models/index.js"; import { DateCalendarSlots, DateCalendarSlotProps, ExportedDateCalendarProps } from "../DateCalendar/DateCalendar.types.js"; import { BasePickerInputProps } from "../internals/models/props/basePickerProps.js"; import { DateTimePickerTabsProps } from "./DateTimePickerTabs.js"; import { LocalizedComponent } from "../locales/utils/pickersLocaleTextApi.js"; import { DateTimePickerToolbarProps, ExportedDateTimePickerToolbarProps } from "./DateTimePickerToolbar.js"; import { PickerViewRendererLookup } from "../internals/hooks/usePicker/index.js"; import { DateViewRendererProps } from "../dateViewRenderers/index.js"; import { TimeViewRendererProps } from "../timeViewRenderers/index.js"; import { BaseClockProps, DigitalTimePickerProps } from "../internals/models/props/time.js"; import { DateOrTimeViewWithMeridiem, PickerValue, TimeViewWithMeridiem } from "../internals/models/index.js"; import { ExportedValidateDateTimeProps, ValidateDateTimePropsToDefault } from "../validation/validateDateTime.js"; import { DigitalClockSlotProps, DigitalClockSlots } from "../DigitalClock/index.js"; import { MultiSectionDigitalClockSlotProps, MultiSectionDigitalClockSlots } from "../MultiSectionDigitalClock/index.js"; export interface BaseDateTimePickerSlots extends DateCalendarSlots, DigitalClockSlots, MultiSectionDigitalClockSlots { /** * 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, DigitalClockSlotProps, MultiSectionDigitalClockSlotProps { /** * Props passed down to the tabs component. */ tabs?: DateTimePickerTabsProps; /** * Props passed down to the toolbar component. */ toolbar?: ExportedDateTimePickerToolbarProps; } export type DateTimePickerViewRenderers = PickerViewRendererLookup, 'slots' | 'slotProps'> & Omit>, 'slots' | 'slotProps'>>; export interface BaseDateTimePickerProps extends Omit, 'views'>, Omit, DigitalTimePickerProps, ExportedValidateDateTimeProps { /** * 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>; /** * Available views. */ views?: readonly DateOrTimeView[]; } type UseDateTimePickerDefaultizedProps = LocalizedComponent, 'views'>> & { shouldRenderTimeInASingleColumn: boolean; views: readonly DateOrTimeViewWithMeridiem[]; }; export declare function useDateTimePickerDefaultizedProps(props: Props, name: string): UseDateTimePickerDefaultizedProps; export {};