import * as React from 'react'; import { MakeRequired, SlotComponentPropsFromProps } from '@mui/x-internals/types'; import { BasePickerProps } from "../../models/props/basePickerProps.js"; import { PickersModalDialogSlots, PickersModalDialogSlotProps } from "../../components/PickersModalDialog.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 UseMobilePickerSlots extends PickersModalDialogSlots, ExportedPickersLayoutSlots, PickerFieldUISlotsFromContext { /** * Component used to enter the date with the keyboard. */ field: React.ElementType; } export interface ExportedUseMobilePickerSlotProps extends PickersModalDialogSlotProps, ExportedPickersLayoutSlotProps, PickerFieldUISlotPropsFromContext { field?: SlotComponentPropsFromProps, {}, PickerOwnerState>; } export interface UseMobilePickerSlotProps extends ExportedUseMobilePickerSlotProps, Pick, 'toolbar'> {} export interface MobileOnlyPickerProps extends UsePickerNonStaticProps {} export interface UseMobilePickerProps> extends BasePickerProps, MakeRequired { /** * Overridable component slots. * @default {} */ slots: UseMobilePickerSlots; /** * The props used for each component slot. * @default {} */ slotProps?: UseMobilePickerSlotProps; } export interface UseMobilePickerParams> extends Pick, 'valueManager' | 'valueType' | 'validator' | '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; }