import * as React from 'react'; import Stack, { StackProps } from '@mui/material/Stack'; import Typography, { TypographyProps } from '@mui/material/Typography'; import TextField from '@mui/material/TextField'; import { SlotComponentProps } from '@mui/base/utils'; import { BaseSingleInputFieldProps, FieldRef, PickerValidDate } from '../../models'; import { UseClearableFieldSlots, UseClearableFieldSlotProps } from '../../hooks'; import { PickersInputLocaleText } from '../../locales'; import { BaseFieldProps, UsePickerResponse, WrapperVariant, UsePickerProps, SlotComponentPropsFromProps, DateOrTimeViewWithMeridiem } from '../../internals'; import { BaseMultiInputFieldProps, RangeFieldSection, DateRange, RangePosition, FieldType, UseDateRangeFieldProps } from '../../models'; import { UseRangePositionResponse } from './useRangePosition'; export interface RangePickerFieldSlots extends UseClearableFieldSlots { field: React.ElementType; /** * Element rendered at the root. * Ignored if the field has only one input. */ fieldRoot?: React.ElementType; /** * Element rendered between the two inputs. * Ignored if the field has only one input. */ fieldSeparator?: React.ElementType; /** * Form control with an input to render a date or time inside the default field. * It is rendered twice: once for the start element and once for the end element. * @default TextField from '@mui/material' or PickersTextField if `enableAccessibleFieldDOMStructure` is `true`. */ textField?: React.ElementType; } export interface RangePickerFieldSlotProps extends UseClearableFieldSlotProps { field?: SlotComponentPropsFromProps, TDate, RangeFieldSection, TEnableAccessibleFieldDOMStructure, unknown>, {}, UsePickerProps, TDate, any, any, any, any>>; fieldRoot?: SlotComponentProps>; fieldSeparator?: SlotComponentProps>; textField?: SlotComponentProps & { position?: RangePosition; }>; } export interface UseEnrichedRangePickerFieldPropsParams, TDate, RangeFieldSection, TEnableAccessibleFieldDOMStructure, TError> = BaseFieldProps, TDate, RangeFieldSection, TEnableAccessibleFieldDOMStructure, TError>> extends Pick, TView, RangeFieldSection, any>, 'open' | 'actions'>, UseRangePositionResponse { wrapperVariant: WrapperVariant; fieldType: FieldType; readOnly?: boolean; labelId?: string; disableOpenPicker?: boolean; onBlur?: () => void; label?: React.ReactNode; localeText: PickersInputLocaleText | undefined; pickerSlotProps: RangePickerFieldSlotProps | undefined; pickerSlots: RangePickerFieldSlots | undefined; fieldProps: FieldProps; anchorRef?: React.Ref; currentView?: TView | null; initialView?: TView; onViewChange?: (view: TView) => void; startFieldRef: React.RefObject>; endFieldRef: React.RefObject>; } export declare const useEnrichedRangePickerFieldProps: (params: UseEnrichedRangePickerFieldPropsParams) => BaseMultiInputFieldProps, TDate, RangeFieldSection, TEnableAccessibleFieldDOMStructure, TError> | BaseSingleInputFieldProps, TDate, RangeFieldSection, TEnableAccessibleFieldDOMStructure, TError>;