import { ReactNode } from 'react';
import { BoxProps } from '../box/Box';
import { GenericComponent } from '../../@types/types';
import { SIZES } from '../../constants';
import { InputProps } from '../input/Input';
import { PopoverProps } from '../popover/Popover';
interface DatePickerInputProps extends Omit<BoxProps, 'size' | 'onChange'> {
    /** A class name for the wrapper to give custom styles. */
    className?: string;
    /** Object with props for the DatePicker component. */
    dayPickerProps?: DayPickerProps;
    /** A footer component, rendered at the bottom of the date picker */
    footer?: ReactNode;
    /** A custom function to format a date. */
    formatDate?: (selectedDate: Date, locale: string) => string;
    /** Object with props for the Input component. */
    inputProps?: InputProps;
    /** If true, component will be rendered in inverse mode. */
    inverse?: boolean;
    /** The language ISO locale code ('en-GB', 'nl-BE', 'fr-FR',...). */
    locale?: string;
    /** Callback function that is fired when the date has changed. */
    onChange?: (selectedDate: Date) => void;
    /** Callback function that is fired when the popover with the calendar gets closed (unfocused) */
    onBlur?: () => void;
    /** Object with props for the Popover component. */
    popoverProps?: PopoverProps;
    /** The current selected date. */
    selectedDate?: Date;
    /** Size of the Input & DatePicker components. */
    size?: Exclude<typeof SIZES[number], 'tiny' | 'smallest' | 'hero' | 'fullscreen'>;
    /** Overridable size of the Input component. */
    inputSize?: Exclude<typeof SIZES[number], 'tiny' | 'smallest' | 'hero' | 'fullscreen'>;
    /** Overridable size of the DatePicker component. */
    datePickerSize?: Exclude<typeof SIZES[number], 'tiny' | 'smallest' | 'hero' | 'fullscreen'>;
    /** Whether the picker should automatically open on input focus. True by default. */
    openPickerOnFocus?: boolean;
}
interface DayPickerProps {
    numberOfMonths?: number;
    showOutsideDays?: boolean;
    showWeekNumbers?: boolean;
    withMonthPicker?: boolean;
}
declare const DatePickerInput: GenericComponent<DatePickerInputProps>;
export default DatePickerInput;
