import React__default, { InputHTMLAttributes } from 'react';
import { DateFieldState, DateSegment } from '@react-stately/datepicker';
import { GroupDOMAttributes } from '@react-types/shared';
import { ElementProps } from '../types/common.types.js';
import { InputClassNames, InputStyles } from '../types/theme.types.js';
import { DateInputSegmentProps } from './date-input-segment.js';

interface DateFieldProps extends ElementProps<'div', keyof GroupDOMAttributes> {
    /** State for the date field. */
    state: DateFieldState;
    /** Props for the hidden input element for HTML form submission. */
    inputProps?: InputHTMLAttributes<HTMLInputElement>;
    fieldProps?: GroupDOMAttributes;
    segmentProps?: DateInputSegmentProps;
    formatSegment?: (segments: DateSegment[]) => DateSegment[];
    classNames?: Pick<InputClassNames, 'segmentWrapper' | 'segment'>;
    styles?: Pick<InputStyles, 'segmentWrapper' | 'segment'>;
}
declare const DateField: React__default.ForwardRefExoticComponent<DateFieldProps & React__default.RefAttributes<HTMLDivElement>>;

export { type DateFieldProps, DateField as default };
