import { PureComponent } from 'react'; import type { UsePopperOptions } from 'react-overlays/esm/usePopper'; import type { LocaleType, OnChangeValueType } from './types'; export * from './types'; declare type DatePickerProps = { value?: IsRange extends true ? never : (Date | null); from?: IsRange extends true ? (Date | null) : never; to?: IsRange extends true ? (Date | null) : never; onChange: (nextValue: OnChangeValueType) => void; range?: IsRange; clear?: boolean; disabled?: boolean; minDate?: Date | null; maxDate?: Date | null; isDateDisabled?: (value: Date) => boolean | null; locale?: LocaleType; parseDate?: (value: string, locale: LocaleType) => Date | null; displayFormat?: (value: Date | null | undefined, locale: LocaleType) => string; className?: string; defaultFocus?: Date | Date[]; popperConfig?: UsePopperOptions; containerRef?: HTMLElement | null; }; declare type TState = { show: boolean; }; declare class DatePicker extends PureComponent, TState> { static displayName: string; static defaultProps: { value: null; from: null; to: null; range: boolean; clear: boolean; locale: string; parseDate: (date: string, locale: LocaleType, referenceDate?: number | Date) => Date | null; displayFormat: (date: Date | null | undefined, locale?: LocaleType) => string; minDate: null; maxDate: null; className: null; defaultFocus: null; containerRef: null; isDateDisabled: null; disabled: boolean; popperConfig: {}; }; constructor(props: DatePickerProps); onToggle: (isOpened: boolean) => void; onClear: () => void; canClear(): boolean; parseDate: (value: string) => Date | null; renderDropdown: () => JSX.Element; render(): JSX.Element; } export default DatePicker;