import { TextFieldProps } from '../../TextField/internal/TextField';
import { DateTime } from 'luxon';
import { DateMode } from '../../DateFieldSingle/types';
export type MaskedDateRangeInputChange = {
    startDate: DateTime | null;
    endDate: DateTime | null;
    isInputValid: boolean;
    isInputEmpty: boolean;
};
export type MaskedDateRangeInputChangeHandler = (change: MaskedDateRangeInputChange) => void;
export type MaskedDateRangeInputProps = Omit<TextFieldProps, "onChange" | "value" | "ref" | "showCounter" | "hint" | "prefix"> & {
    onChange: MaskedDateRangeInputChangeHandler;
    mode?: DateMode;
    startDate: DateTime | null;
    endDate: DateTime | null;
    disableHint?: boolean;
};
export type MaskedDateRangeInputRef = HTMLInputElement & {
    setDateRange: (startDate: DateTime | null, endDate: DateTime | null) => void;
};
/**
 * A masked date input component that allows for the input of a date in a specific format.
 *
 * Provides a `setDates` method that can be used to set the date from outside the component (e.g from a calendar).
 *
 * @internal This component is not intended to be used directly in consumer code.
 *
 * @param props - The props for the MaskedDateRangeInput component.
 * @param props.onChange - The function to call when the date changes.
 * @param props.mode - The mode of the date input.
 * @param props.startDate - The start date.
 * @param props.endDate - The end date.
 * @param props.disableHint - Whether to disable the hint.
 */
export declare const MaskedDateRangeInput: import('react').ForwardRefExoticComponent<Omit<TextFieldProps, "ref" | "prefix" | "onChange" | "hint" | "showCounter" | "value"> & {
    onChange: MaskedDateRangeInputChangeHandler;
    mode?: DateMode;
    startDate: DateTime | null;
    endDate: DateTime | null;
    disableHint?: boolean;
} & import('react').RefAttributes<MaskedDateRangeInputRef>>;
