/// import * as React from 'react'; import { ComponentClass } from 'react'; import { PassTroughFunction } from '../../utils/getPassThrough'; import { DateChecker, DateRange, FocusedInput, PickerDate, PickerMode } from './types'; import { RangePickerType } from './RangePicker'; import { MonthType } from './Month'; export interface DatePickerProps { focusedInput: FocusedInput; highlighted?: PickerDate; isDayBlocked: DateChecker; isDayDisabled: DateChecker; locale: string | object; mode: PickerMode; numberOfMonths: number; onChange(date: DateRange): void; onDayClick(day: Date, event: React.MouseEvent): void; onDayMouseEnter(day: Date, event: React.MouseEvent): void; onDayMouseLeave(day: Date, event: React.MouseEvent): void; onFocusedInputChange(focus?: FocusedInput): void; onHighlightedChange(date: DateRange): void; resetToWhenFromChanges: boolean; selected: PickerDate; sundayFirstDayOfWeek: boolean; viewDate: Date; } export interface DatePickerState { viewDate: Date; } export interface ArrowNodeProps { children: string; onClick(event: React.MouseEvent): void; } export declare type DatePickerNodes = 'NextNode' | 'Month' | 'PickerWrapper' | 'PrevNode' | 'SinglePicker' | 'RangePicker'; export interface DatePickerArgs { Month: MonthType; NextNode: ComponentClass; PickerWrapper: ComponentClass; PrevNode: ComponentClass; RangePicker: RangePickerType; SinglePicker: ComponentClass; passthrough: PassTroughFunction; } export default function datePickerFactory({Month, NextNode, PickerWrapper, PrevNode, RangePicker, SinglePicker, passthrough}: DatePickerArgs): ComponentClass;