import * as React from 'react'; import { FieldRef } from '@mui/x-date-pickers/models'; import { SlotComponentProps } from '@mui/base/utils'; import Typography from '@mui/material/Typography'; import Stack, { StackProps } from '@mui/material/Stack'; import TextField from '@mui/material/TextField'; import { UncapitalizeObjectKeys } from '@mui/x-date-pickers/internals'; import { UseDateTimeRangeFieldDefaultizedProps, UseDateTimeRangeFieldProps } from '../internals/models/dateTimeRange'; import { RangePosition } from '../internals/models/range'; import { RangeFieldSection } from '../internals/models/fields'; import { UseMultiInputRangeFieldParams } from '../internals/hooks/useMultiInputRangeField/useMultiInputRangeField.types'; export declare type UseMultiInputDateTimeRangeFieldParams = UseMultiInputRangeFieldParams, TTextFieldSlotProps>; export interface UseMultiInputDateTimeRangeFieldProps extends Omit, 'unstableFieldRef'> { unstableStartFieldRef?: React.Ref>; unstableEndFieldRef?: React.Ref>; } export declare type UseMultiInputDateTimeRangeFieldComponentProps = Omit> & UseMultiInputDateTimeRangeFieldProps; export interface MultiInputDateTimeRangeFieldProps extends UseMultiInputDateTimeRangeFieldComponentProps> { autoFocus?: boolean; /** * Overridable components. * @default {} * @deprecated Please use `slots`. */ components?: MultiInputDateTimeRangeFieldSlotsComponent; /** * The props used for each component slot. * @default {} * @deprecated Please use `slotProps`. */ componentsProps?: MultiInputDateTimeRangeFieldSlotsComponentsProps; /** * Overridable component slots. * @default {} */ slots?: UncapitalizeObjectKeys; /** * The props used for each component slot. * @default {} */ slotProps?: MultiInputDateTimeRangeFieldSlotsComponentsProps; } export declare type MultiInputDateTimeRangeFieldOwnerState = MultiInputDateTimeRangeFieldProps; export interface MultiInputDateTimeRangeFieldSlotsComponent { /** * Element rendered at the root. * @default MultiInputDateTimeRangeFieldRoot */ Root?: React.ElementType; /** * Form control with an input to render a date and time. * It is rendered twice: once for the start date time and once for the end date time. * Receives the same props as `@mui/material/TextField`. * @default TextField from '@mui/material' */ TextField?: React.ElementType; /** * Element rendered between the two inputs. * @default MultiInputDateTimeRangeFieldSeparator */ Separator?: React.ElementType; } export interface MultiInputDateTimeRangeFieldSlotsComponentsProps { root?: SlotComponentProps>; textField?: SlotComponentProps & { position: RangePosition; }>; separator?: SlotComponentProps>; } export declare type UseMultiInputDateTimeRangeFieldDefaultizedProps = UseDateTimeRangeFieldDefaultizedProps & Omit;