///
import { ReactDatePickerProps } from 'react-datepicker';
/**
* The DateInputV1 component is used for selecting dates with various customization options.
*
* @gen_ai
* The DateInputV1 component allows users to select single dates or date ranges with support for custom date formats, disabling specific dates, and optional editing capabilities.
* It should be used within forms or grouped controls to provide intuitive date selection functionality.
*/
export interface IDateInputV1 extends ReactDatePickerProps {
/**
* Handler for when the date changes.
*/
onChange: (date: Date | null, event: React.SyntheticEvent) => void;
/**
* Custom CSS class for the date input.
*/
className?: string;
/**
* The currently selected date.
*/
selected?: Date;
/**
* The start date for date range selection.
*/
startDate?: Date;
/**
* The end date for date range selection.
*/
endDate?: Date;
/**
* The maximum selectable date.
*/
maxDate?: Date;
/**
* The minimum selectable date.
*/
minDate?: Date;
/**
* Marks the date input as required.
*/
required?: boolean;
/**
* The format of the displayed date.
*/
dateFormat?: string;
/**
* Disables the date input.
*/
disabled?: boolean;
/**
* Makes the date input read-only.
*/
readOnly?: boolean;
/**
* Prevents the popper container from being used.
*/
preventPopperContainer?: boolean;
/**
* Allows the date input to be clearable.
*/
isClearable?: boolean;
/**
* The HTML id attribute for the date input.
*/
id?: string;
/**
* Placeholder text displayed in the date input.
*/
placeholderText?: string;
/**
* Indicates if the date input selects the start of a date range.
*/
selectsStart?: boolean;
/**
* Indicates if the date input selects the end of a date range.
*/
selectsEnd?: boolean;
/**
* Shows a dropdown for selecting the year.
*/
showYearDropdown?: boolean;
/**
* Enables a month and year picker.
*/
showMonthYearPicker?: boolean;
/**
* Determines the dropdown mode.
*/
dropdownMode?: 'select' | 'scroll';
/**
* Shows a dropdown for selecting the year.
*/
showYearPicker?: boolean;
/**
* Sets a fixed height for the date input.
*/
fixedHeight?: boolean;
/**
* Renders the date input inline.
*/
inline?: boolean;
}