import { InputHTMLAttributes } from 'react';
import { YearlessDateMode, YearlessDate } from '../types';
import { DateFieldYearlessChangeHandler } from '../DateFieldYearless';
import { Size } from '../../../types';
export type YearlessDateInputWithPickerProps = Omit<InputHTMLAttributes<HTMLInputElement>, "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<Size, "small" | "medium" | "large">;
    /**
     * 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<Omit<InputHTMLAttributes<HTMLInputElement>, "ref" | "defaultValue" | "onFocus" | "onBlur" | "onChange" | "size" | "value"> & {
    /**
     * 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<Size, "small" | "medium" | "large">;
    /**
     * 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<YearlessDateInputWithPickerRef>>;
