import { ChangeEvent, FocusEvent, FocusEventHandler, KeyboardEvent, MouseEvent, RefObject } from 'react';
import { DayPickerProps, DayPickerSelection, Modifiers } from './dayPickerTypes';
type UseDayPickerInputStateParams = {
    props: DayPickerProps;
    locale: string;
    dateFormat?: string;
    inputProps?: DayPickerProps['inputProps'];
    onBlur?: FocusEventHandler<HTMLInputElement>;
    isDropdownOpen: boolean;
    isSingleMode: boolean;
    selectionBehavior: 'immediate' | 'deferred';
    closeOnOutsideClick: boolean;
    committedValue: DayPickerSelection;
    draftValue: DayPickerSelection;
    setDraftValue: (value: DayPickerSelection) => void;
    commitValue: (value: DayPickerSelection, modifiers?: Modifiers) => void;
    clearValue: () => void;
    openDropdown: () => void;
    closeDropdown: () => void;
    applyDraftValue: () => void;
    popperElementRef: RefObject<HTMLElement | null>;
};
declare const useDayPickerInputState: ({ props, locale, dateFormat, inputProps, onBlur, isDropdownOpen, isSingleMode, selectionBehavior, closeOnOutsideClick, committedValue, draftValue, setDraftValue, commitValue, clearValue, openDropdown, closeDropdown, applyDraftValue, popperElementRef, }: UseDayPickerInputStateParams) => {
    displayValue: string;
    handleInputBlur: (event: FocusEvent<HTMLInputElement>) => void;
    handleInputChange: (nextValue: string, _event?: ChangeEvent<HTMLInputElement> | MouseEvent<HTMLSpanElement>) => void;
    handleClearInput: () => void;
    handleInputFocus: (event: FocusEvent<HTMLInputElement>) => void;
    handleInputKeyDown: (event: KeyboardEvent<HTMLInputElement>) => void;
    inputMaskProps: Pick<import('../clearableInput/ClearableInput').ClearableInputProps, "pattern" | "mask" | "format" | "parse"> | undefined;
};
export default useDayPickerInputState;
