import { Ref, ReactElement, CSSProperties, ReactNode } from 'react';
import { DateValue } from '@react-aria/datepicker';
import { DateRangePickerState } from '@react-stately/datepicker';
import { InputClassNames, InputStyles } from '../types/theme.types.mjs';
import { DateInputGroupProps } from './date-input-group.mjs';
import { DateRangeFieldProps } from './date-range-field.mjs';
import '@react-types/shared';
import '../types/common.types.mjs';
import '@internationalized/date';
import './date-field.mjs';
import './date-input-segment.mjs';

interface Props<T extends DateValue = DateValue> extends Pick<DateInputGroupProps, 'children' | 'startContent' | 'endContent' | 'labelProps' | 'groupProps'> {
    state: DateRangePickerState;
    getStartDateFieldProps: DateRangeFieldProps<T>;
    getEndDateFieldProps: DateRangeFieldProps<T>;
    className?: string;
    classNames?: InputClassNames;
    styles?: InputStyles;
    style?: CSSProperties;
    label?: ReactNode;
    separator?: ReactNode;
}
type DateRangeInputProps<T extends DateValue = DateValue> = Props<T> & {
    ref?: Ref<HTMLElement>;
};
declare const _default: <T extends DateValue>(props: DateRangeInputProps<T>) => ReactElement;

export { type DateRangeInputProps, _default as default };
