import { MakeOptional } from '@mui/x-internals/types';
import { DateValidationError, BuiltInFieldTextFieldProps } from "../models/index.js";
import { UseFieldInternalProps } from "../internals/hooks/useField/index.js";
import { ExportedValidateDateProps } from "../validation/validateDate.js";
import { PickerValue } from "../internals/models/index.js";
import { ExportedPickerFieldUIProps, PickerFieldUISlotProps, PickerFieldUISlots } from "../internals/components/PickerFieldUI.js";
export interface UseDateFieldProps extends MakeOptional<UseFieldInternalProps<PickerValue, DateValidationError>, 'format'>, ExportedValidateDateProps, ExportedPickerFieldUIProps {}
export type DateFieldProps = UseDateFieldProps & Omit<BuiltInFieldTextFieldProps, keyof UseDateFieldProps> & {
  /**
   * Overridable component slots.
   * @default {}
   */
  slots?: DateFieldSlots;
  /**
   * The props used for each component slot.
   * @default {}
   */
  slotProps?: DateFieldSlotProps;
};
export type DateFieldOwnerState = DateFieldProps;
export interface DateFieldSlots extends PickerFieldUISlots {}
export interface DateFieldSlotProps extends PickerFieldUISlotProps {}