import React from 'react';
import { FormControlWrapperPublicProps } from '../../FormLayout/components/FormControlWrapper';
import { FormControlCommonProps } from '../types.js';
import '../FormControls.css';
import { DateTimePickerProviderProps } from './context/DateTimePickerContext.js';
import { DateTimeDisplayContextProviderProps } from '../../DateTime/DateTimeDisplayContext.js';
export interface RangePickerProps extends FormControlCommonProps, FormControlWrapperPublicProps {
    onBlur?: (e: React.BaseSyntheticEvent) => void;
    onFocus?: (e: React.BaseSyntheticEvent) => void;
    onDateChange?: (date: string) => void;
    placeholderStartDate?: string;
    placeholderEndDate?: string;
    onChangeValue?: (date: {
        start?: string;
        end?: string;
    }) => void;
    /** Control the behavior when onChangeValue() prop is called. Defaults to "StartAndEnd" required to be set before calling onChangeValue(). In some cases the start or end date are optional and the parent component needs to be notified of the start/end value when it changes.  */
    onChangeValueBehavior?: 'StartAndEnd' | 'StartOrEnd';
    onClearValue?: () => void;
    showClearValueButton?: boolean;
    value?: {
        start?: string;
        end?: string;
    };
    hoursEnabled?: boolean;
    minutesEnabled?: boolean;
    /** When true, displays "From" and "To" inputs stacked vertically instead of inline horizontally. Useful when horizontal space is limited. Defaults to false. */
    vertical?: boolean;
}
export interface DateTimeRangePickerProps extends RangePickerProps, Omit<DateTimeDisplayContextProviderProps, 'children' | 'is24hr'>, Omit<DateTimePickerProviderProps, 'children' | 'mode'> {
    mode?: 'date' | 'datetime' | 'time';
    value?: {
        start?: string;
        end?: string;
    };
}
declare const DateTimeRangePicker: ({ disableDatesAfterDate, disableDatesBeforeDate, dateFormat, timeFormat, is24, minuteStep, mode, value, weekStart, timezone, ...RangePickerProps }: DateTimeRangePickerProps) => React.JSX.Element;
export { DateTimeRangePicker };
