import type { DCloneHTMLElement, DSize } from '../../utils/types';
import type { DFormControl } from '../form';
import React from 'react';
export interface DDateInputRef {
updatePosition: () => void;
}
export interface DDateInputProps extends Omit, 'children'> {
children: (props: {
date: [Date | null, Date | null];
isFocus: [boolean, boolean];
changeDate: (date: Date | [Date, Date]) => void;
enter: () => void;
renderPopup: DCloneHTMLElement;
}) => JSX.Element | null;
dRef: {
inputLeft?: React.ForwardedRef;
inputRight?: React.ForwardedRef;
} | undefined;
dClassNamePrefix: string;
dFormControl: DFormControl | undefined;
dModel: Date | null | [Date, Date] | undefined;
dFormat: string;
dVisible: boolean;
dPlacement: 'top' | 'top-left' | 'top-right' | 'bottom' | 'bottom-left' | 'bottom-right';
dOrder: (date: [Date, Date]) => boolean;
dPlaceholder: [string, string];
dSuffix: React.ReactNode | undefined;
dRange: boolean;
dSize: DSize | undefined;
dClearable: boolean;
dDisabled: boolean;
dInputRender: [DCloneHTMLElement>?, DCloneHTMLElement>?] | undefined;
onModelChange: ((date: any) => void) | undefined;
onVisibleChange: (visible: boolean) => void;
onUpdatePanel: ((date: Date) => void) | undefined;
afterVisibleChange: ((visible: boolean) => void) | undefined;
onClear: (() => void) | undefined;
}
export declare const DDateInput: React.ForwardRefExoticComponent>;