import { InputHTMLAttributes } from 'react';
import { YearlessDateMode, YearlessDate } from '../types';
import { DateFieldYearlessChangeHandler } from '../DateFieldYearless';
import { Size } from '../../../types';
export type YearlessDateInputWithPickerProps = Omit, "onChange" | "value" | "ref" | "size" | "defaultValue" | "onFocus" | "onBlur"> & {
/**
* The controlled value of the date field
*/
value?: YearlessDate | null;
/**
* The default value for uncontrolled usage
*/
defaultValue?: YearlessDate | null;
/**
* The function to call when the date value changes
*/
onChange?: DateFieldYearlessChangeHandler;
/**
* The date format mode (mm/dd or dd/mm)
*/
mode?: YearlessDateMode;
/**
* Whether the field is required
*/
required?: boolean;
/**
* The minimum allowed date
*/
minDate?: YearlessDate | null;
/**
* The maximum allowed date
*/
maxDate?: YearlessDate | null;
/**
* Configuration for unavailable dates
*/
unavailable?: {
/**
* Array of dates that are not selectable
*/
dates?: YearlessDate[];
};
/**
* Whether the picker is disabled
*/
disablePicker?: boolean;
/**
* The size of the input
*/
size?: Extract;
/**
* Whether the input has an error
*/
error?: boolean;
/**
* Whether the input is in loading state
*/
loading?: boolean;
/**
* Function to call when the input is focused
*/
onFocus?: (event: React.FocusEvent) => void;
/**
* Function to call when the input is blurred
*/
onBlur?: (event: React.FocusEvent) => void;
};
export type YearlessDateInputWithPickerRef = {
focus: () => void;
setValue: (value: YearlessDate | null) => void;
};
export declare const YearlessDateInputWithPicker: import('react').ForwardRefExoticComponent, "onBlur" | "onFocus" | "onChange" | "ref" | "size" | "value" | "defaultValue"> & {
/**
* The controlled value of the date field
*/
value?: YearlessDate | null;
/**
* The default value for uncontrolled usage
*/
defaultValue?: YearlessDate | null;
/**
* The function to call when the date value changes
*/
onChange?: DateFieldYearlessChangeHandler;
/**
* The date format mode (mm/dd or dd/mm)
*/
mode?: YearlessDateMode;
/**
* Whether the field is required
*/
required?: boolean;
/**
* The minimum allowed date
*/
minDate?: YearlessDate | null;
/**
* The maximum allowed date
*/
maxDate?: YearlessDate | null;
/**
* Configuration for unavailable dates
*/
unavailable?: {
/**
* Array of dates that are not selectable
*/
dates?: YearlessDate[];
};
/**
* Whether the picker is disabled
*/
disablePicker?: boolean;
/**
* The size of the input
*/
size?: Extract;
/**
* Whether the input has an error
*/
error?: boolean;
/**
* Whether the input is in loading state
*/
loading?: boolean;
/**
* Function to call when the input is focused
*/
onFocus?: (event: React.FocusEvent) => void;
/**
* Function to call when the input is blurred
*/
onBlur?: (event: React.FocusEvent) => void;
} & import('react').RefAttributes>;