import React from 'react'; import { ComponentClass } from 'react'; import { TSteppableInputProps } from '../SteppableInput/SteppableInput'; import { TControlProps } from '../Control/Control'; import { TButtonIconProps } from '../ButtonIcon/ButtonIcon'; import { PartialKeys } from '@devexperts/utils/dist/object/object'; import { TPopoverProps } from '../Popover/Popover'; import { DateFormatType, TDateInputValue } from './DateInput.model'; import { ReactRef } from '../../utils/typings'; export declare const DATE_INPUT: symbol; export declare type TCalendarProps = TControlProps & { onMouseDown?: React.EventHandler>; min?: Date; max?: Date; }; declare type TDateValueProps = TControlProps; export declare type TDateInputOwnProps = TSteppableInputProps & TDateValueProps & { min?: Date; max?: Date; calendarIcon?: React.ReactElement; onClear?: Function; onFocus?: () => void; onBlur?: () => void; onMouseEnter?: () => void; onMouseLeave?: () => void; target?: Element; Calendar?: ComponentClass | React.SFC; }; declare type TDateDefaultProps = { SteppableInput: ComponentClass | React.SFC; ButtonIcon: ComponentClass; Popover: ComponentClass | React.SFC; dateFormatType: DateFormatType; innerRef?: (instance: ReactRef) => void; }; export declare type TDateInputInjectedProps = { theme: { inner?: string; inner_isFilled?: string; section?: string; section_isActive?: string; separator?: string; SteppableInput?: TSteppableInputProps['theme']; ButtonIcon?: TButtonIconProps['theme']; CalendarButtonIcon?: TButtonIconProps['theme']; Popover?: TPopoverProps['theme']; }; }; export declare type TDateInputFullProps = TDateInputOwnProps & TDateInputInjectedProps & TDateDefaultProps; export declare type TDateInputProps = PartialKeys; export declare const DateInput: ComponentClass; export {};