import React from 'react';
import type { FocusEvent } from 'react';
import type { RootProps } from '../../../engines';
import type { RangeInputRefs } from '../../Range/Range.types';
import type { DateType } from '../../Calendar/Calendar.types';
import type { RootDatePickerRangeProps } from './RangeDate.types';
export declare const datePickerRangeRoot: (Root: RootProps<HTMLDivElement, RootDatePickerRangeProps>) => React.ForwardRefExoticComponent<import("../DatePickerBase.types").DatePickerVariationProps & {
    requiredPlacement?: "left" | "right";
    required?: boolean;
    hasRequiredIndicator?: boolean;
    value?: [DateType | string, DateType | string];
    preserveInvalidOnBlur?: boolean;
    defaultFirstDate?: Date;
    defaultSecondDate?: Date;
    name?: string;
    onChangeFirstValue?: import("./RangeDate.types").ChangeInstanceCallback;
    onChangeSecondValue?: import("./RangeDate.types").ChangeInstanceCallback;
    onCommitFirstDate?: import("./RangeDate.types").CommitInstanceCallback;
    onCommitSecondDate?: import("./RangeDate.types").CommitInstanceCallback;
    onChange?: (event: {
        target: {
            value?: string;
            name?: string;
        };
    }) => void;
} & {
    size?: string | undefined;
    disabled?: boolean | undefined;
    autoComplete?: string | undefined;
    readOnly?: boolean | undefined;
    required?: boolean | undefined;
    label?: string | undefined;
    view?: string | undefined;
    appearance?: "default" | "clear" | "viewMode" | undefined;
    contentLeft?: React.ReactNode;
    contentRight?: React.ReactNode;
    hintText?: string | undefined;
    hintTrigger?: ("hover" | "click") | undefined;
    hintTargetIcon?: React.ReactNode;
    hintPlacement?: (import("@popperjs/core").Placement | Array<import("@popperjs/core").ComputedPlacement>) | undefined;
    hintHasArrow?: boolean | undefined;
    hintOffset?: [number, number] | undefined;
    hintWidth?: string | undefined;
    hintContentLeft?: React.ReactNode;
    hintView?: string | undefined;
    hintSize?: string | undefined;
    titleCaption?: React.ReactNode;
    leftHelper?: string | undefined;
    hasRequiredIndicator?: boolean | undefined;
    hintTargetPlacement?: ("inner" | "outer") | undefined;
    requiredIndicatorPlacement?: ("left" | "right") | undefined;
    firstValueError?: boolean | undefined;
    secondValueError?: boolean | undefined;
    firstValueSuccess?: boolean | undefined;
    secondValueSuccess?: boolean | undefined;
    firstValueEdited?: boolean | undefined;
    secondValueEdited?: boolean | undefined;
    firstPlaceholder?: string | undefined;
    secondPlaceholder?: string | undefined;
    hasClearDivider?: boolean | undefined;
    firstTextfieldContentLeft?: React.ReactElement | undefined;
    firstTextfieldContentRight?: React.ReactElement | undefined;
    secondTextfieldContentLeft?: React.ReactElement | undefined;
    secondTextfieldContentRight?: React.ReactElement | undefined;
    firstTextfieldTextBefore?: string | undefined;
    secondTextfieldTextBefore?: string | undefined;
    firstTextfieldTextAfter?: string | undefined;
    secondTextfieldTextAfter?: string | undefined;
    dividerVariant?: "none" | "icon" | "dash" | undefined;
    dividerIcon?: React.ReactNode;
    onFocusFirstTextfield?: ((event: FocusEvent<HTMLInputElement>) => void) | undefined;
    onFocusSecondTextfield?: ((event: FocusEvent<HTMLInputElement>) => void) | undefined;
    onBlurFirstTextfield?: ((event: FocusEvent<HTMLInputElement>) => void) | undefined;
    onBlurSecondTextfield?: ((event: FocusEvent<HTMLInputElement>) => void) | undefined;
} & import("../DatePickerBase.types").DatePickerCalendarProps & Omit<import("../SingleDate/SingleDate.types").DatePickerPopoverProps, "placement" | "dateShortcuts"> & {
    placement?: import("./RangeDate.types").DatePickerRangePlacement | Array<import("./RangeDate.types").DatePickerRangePlacementBasic>;
    isDoubleCalendar?: boolean;
    dateShortcuts?: import("./RangeDate.types").DateShortcutItem[];
} & React.HTMLAttributes<HTMLDivElement> & {
    appearance?: "default" | "clear";
    hasClearDivider?: boolean;
} & React.RefAttributes<RangeInputRefs>>;
export declare const datePickerRangeConfig: {
    name: string;
    tag: string;
    layout: (Root: RootProps<HTMLDivElement, RootDatePickerRangeProps>) => React.ForwardRefExoticComponent<import("../DatePickerBase.types").DatePickerVariationProps & {
        requiredPlacement?: "left" | "right";
        required?: boolean;
        hasRequiredIndicator?: boolean;
        value?: [DateType | string, DateType | string];
        preserveInvalidOnBlur?: boolean;
        defaultFirstDate?: Date;
        defaultSecondDate?: Date;
        name?: string;
        onChangeFirstValue?: import("./RangeDate.types").ChangeInstanceCallback;
        onChangeSecondValue?: import("./RangeDate.types").ChangeInstanceCallback;
        onCommitFirstDate?: import("./RangeDate.types").CommitInstanceCallback;
        onCommitSecondDate?: import("./RangeDate.types").CommitInstanceCallback;
        onChange?: (event: {
            target: {
                value?: string;
                name?: string;
            };
        }) => void;
    } & {
        size?: string | undefined;
        disabled?: boolean | undefined;
        autoComplete?: string | undefined;
        readOnly?: boolean | undefined;
        required?: boolean | undefined;
        label?: string | undefined;
        view?: string | undefined;
        appearance?: "default" | "clear" | "viewMode" | undefined;
        contentLeft?: React.ReactNode;
        contentRight?: React.ReactNode;
        hintText?: string | undefined;
        hintTrigger?: ("hover" | "click") | undefined;
        hintTargetIcon?: React.ReactNode;
        hintPlacement?: (import("@popperjs/core").Placement | Array<import("@popperjs/core").ComputedPlacement>) | undefined;
        hintHasArrow?: boolean | undefined;
        hintOffset?: [number, number] | undefined;
        hintWidth?: string | undefined;
        hintContentLeft?: React.ReactNode;
        hintView?: string | undefined;
        hintSize?: string | undefined;
        titleCaption?: React.ReactNode;
        leftHelper?: string | undefined;
        hasRequiredIndicator?: boolean | undefined;
        hintTargetPlacement?: ("inner" | "outer") | undefined;
        requiredIndicatorPlacement?: ("left" | "right") | undefined;
        firstValueError?: boolean | undefined;
        secondValueError?: boolean | undefined;
        firstValueSuccess?: boolean | undefined;
        secondValueSuccess?: boolean | undefined;
        firstValueEdited?: boolean | undefined;
        secondValueEdited?: boolean | undefined;
        firstPlaceholder?: string | undefined;
        secondPlaceholder?: string | undefined;
        hasClearDivider?: boolean | undefined;
        firstTextfieldContentLeft?: React.ReactElement | undefined;
        firstTextfieldContentRight?: React.ReactElement | undefined;
        secondTextfieldContentLeft?: React.ReactElement | undefined;
        secondTextfieldContentRight?: React.ReactElement | undefined;
        firstTextfieldTextBefore?: string | undefined;
        secondTextfieldTextBefore?: string | undefined;
        firstTextfieldTextAfter?: string | undefined;
        secondTextfieldTextAfter?: string | undefined;
        dividerVariant?: "none" | "icon" | "dash" | undefined;
        dividerIcon?: React.ReactNode;
        onFocusFirstTextfield?: ((event: FocusEvent<HTMLInputElement>) => void) | undefined;
        onFocusSecondTextfield?: ((event: FocusEvent<HTMLInputElement>) => void) | undefined;
        onBlurFirstTextfield?: ((event: FocusEvent<HTMLInputElement>) => void) | undefined;
        onBlurSecondTextfield?: ((event: FocusEvent<HTMLInputElement>) => void) | undefined;
    } & import("../DatePickerBase.types").DatePickerCalendarProps & Omit<import("../SingleDate/SingleDate.types").DatePickerPopoverProps, "placement" | "dateShortcuts"> & {
        placement?: import("./RangeDate.types").DatePickerRangePlacement | Array<import("./RangeDate.types").DatePickerRangePlacementBasic>;
        isDoubleCalendar?: boolean;
        dateShortcuts?: import("./RangeDate.types").DateShortcutItem[];
    } & React.HTMLAttributes<HTMLDivElement> & {
        appearance?: "default" | "clear";
        hasClearDivider?: boolean;
    } & React.RefAttributes<RangeInputRefs>>;
    base: import("styled-components").FlattenSimpleInterpolation;
    variations: {
        view: {
            css: import("styled-components").FlattenSimpleInterpolation;
        };
        size: {
            css: import("styled-components").FlattenSimpleInterpolation;
        };
        eventTooltipSize: {
            css: import("styled-components").FlattenSimpleInterpolation;
        };
        hintView: {
            css: import("styled-components").FlattenSimpleInterpolation;
        };
        hintSize: {
            css: import("styled-components").FlattenSimpleInterpolation;
        };
        disabled: {
            css: import("styled-components").FlattenSimpleInterpolation;
            attrs: boolean;
        };
        readOnly: {
            css: import("styled-components").FlattenSimpleInterpolation;
            attrs: boolean;
        };
    };
    defaults: {
        size: string;
        view: string;
        eventTooltipSizeCSS: string;
    };
};
//# sourceMappingURL=RangeDate.d.ts.map