import * as React from 'react'; import { MakeRequired, SlotComponentPropsFromProps } from '@mui/x-internals/types'; import { BasePickerProps } from "../../models/props/basePickerProps.js"; import { PickerPopperSlots, PickerPopperSlotProps } from "../../components/PickerPopper/PickerPopper.js"; import { UsePickerParameters, UsePickerNonStaticProps, UsePickerProps } from "../usePicker/index.js"; import { PickerFieldSlotProps, PickerOwnerState } from "../../../models/index.js"; import { ExportedPickersLayoutSlots, ExportedPickersLayoutSlotProps, PickersLayoutSlotProps } from "../../../PickersLayout/PickersLayout.types.js"; import { DateOrTimeViewWithMeridiem, PickerValue } from "../../models/index.js"; import { PickerFieldUISlotsFromContext, PickerFieldUISlotPropsFromContext } from "../../components/PickerFieldUI.js"; import { PickerStep } from "../../utils/createNonRangePickerStepNavigation.js"; export interface UseDesktopPickerSlots extends Pick, ExportedPickersLayoutSlots, PickerFieldUISlotsFromContext { /** * Component used to enter the date with the keyboard. */ field: React.ElementType; } export interface ExportedUseDesktopPickerSlotProps extends PickerPopperSlotProps, ExportedPickersLayoutSlotProps, PickerFieldUISlotPropsFromContext { field?: SlotComponentPropsFromProps, {}, PickerOwnerState>; } export interface UseDesktopPickerSlotProps extends ExportedUseDesktopPickerSlotProps, Pick, 'toolbar'> {} export interface DesktopOnlyPickerProps extends UsePickerNonStaticProps { /** * If `true`, the `input` element is focused during the first mount. * @default false */ autoFocus?: boolean; } export interface UseDesktopPickerProps> extends BasePickerProps, MakeRequired { /** * Overridable component slots. * @default {} */ slots: UseDesktopPickerSlots; /** * The props used for each component slot. * @default {} */ slotProps?: UseDesktopPickerSlotProps; } export interface UseDesktopPickerParams> extends Pick, 'valueManager' | 'valueType' | 'validator' | 'rendererInterceptor' | 'ref'> { props: TExternalProps; /** * Steps available for the picker. * This will be used to define the behavior of navigation actions. * If null, the picker will not have any step navigation. */ steps: PickerStep[] | null; }