import React, { Component, type HTMLAttributes, type KeyboardEvent, type UIEvent } from 'react'; import PropTypes from 'prop-types'; import moment, { type Moment } from 'moment'; import { type ClassPropsWithDefault } from '../util'; import { checkDateValue } from './util'; import type { DatePickerProps, DatePickerState } from './types'; type InnerDatePickerProps = ClassPropsWithDefault; /** * DatePicker */ declare class DatePicker extends Component { static propTypes: { prefix: PropTypes.Requireable; rtl: PropTypes.Requireable; label: PropTypes.Requireable; state: PropTypes.Requireable; placeholder: PropTypes.Requireable; defaultVisibleMonth: PropTypes.Requireable<(...args: any[]) => any>; onVisibleMonthChange: PropTypes.Requireable<(...args: any[]) => any>; value: typeof checkDateValue; defaultValue: typeof checkDateValue; format: PropTypes.Requireable; showTime: PropTypes.Requireable>; resetTime: PropTypes.Requireable; disabledDate: PropTypes.Requireable<(...args: any[]) => any>; footerRender: PropTypes.Requireable<(...args: any[]) => any>; onChange: PropTypes.Requireable<(...args: any[]) => any>; onOk: PropTypes.Requireable<(...args: any[]) => any>; size: PropTypes.Requireable; disabled: PropTypes.Requireable; hasClear: PropTypes.Requireable; visible: PropTypes.Requireable; defaultVisible: PropTypes.Requireable; onVisibleChange: PropTypes.Requireable<(...args: any[]) => any>; popupTriggerType: PropTypes.Requireable; popupAlign: PropTypes.Requireable; popupContainer: PropTypes.Requireable; popupStyle: PropTypes.Requireable; popupClassName: PropTypes.Requireable; popupProps: PropTypes.Requireable; followTrigger: PropTypes.Requireable; inputProps: PropTypes.Requireable; dateCellRender: PropTypes.Requireable<(...args: any[]) => any>; monthCellRender: PropTypes.Requireable<(...args: any[]) => any>; yearCellRender: PropTypes.Requireable<(...args: any[]) => any>; dateInputAriaLabel: PropTypes.Requireable; timeInputAriaLabel: PropTypes.Requireable; isPreview: PropTypes.Requireable; renderPreview: PropTypes.Requireable<(...args: any[]) => any>; locale: PropTypes.Requireable; className: PropTypes.Requireable; name: PropTypes.Requireable; popupComponent: PropTypes.Requireable; popupContent: PropTypes.Requireable; disableChangeMode: PropTypes.Requireable; yearRange: PropTypes.Requireable<(number | null | undefined)[]>; defaultPropsConfig: PropTypes.Requireable; errorBoundary: PropTypes.Requireable>; pure: PropTypes.Requireable; warning: PropTypes.Requireable; device: PropTypes.Requireable; children: PropTypes.Requireable; }; static defaultProps: { prefix: string; rtl: boolean; format: string; size: string; showTime: boolean; resetTime: boolean; disabledDate: () => boolean; footerRender: () => null; hasClear: boolean; popupTriggerType: string; popupAlign: string; locale: Partial<{ placeholder: string; datetimePlaceholder: string; monthPlaceholder: string; weekPlaceholder: string; yearPlaceholder: string; now: string; selectTime: string; selectDate: string; ok: string; clear: string; startPlaceholder: string; endPlaceholder: string; hour: string; minute: string; second: string; monthBeforeYear?: boolean | undefined; }> & { momentLocale?: string | undefined; }; defaultVisible: boolean; onChange: () => void; onVisibleChange: () => void; onOk: () => void; }; static displayName: string; readonly props: InnerDatePickerProps; constructor(props: DatePickerProps); static getDerivedStateFromProps(props: InnerDatePickerProps): { format: string | undefined; timeFormat: string; dateTimeFormat: string | undefined; value?: moment.Moment | null | undefined; inputAsString?: boolean | undefined; dateInputStr?: string | undefined; timeInputStr?: string | undefined; inputing?: false | "time" | "date" | undefined; visible?: boolean | undefined; panel?: import("./types").PanelType | undefined; }; onValueChange: (newValue: Moment | null, handler?: 'onOk' | 'onChange') => void; onSelectCalendarPanel: (value: Moment) => void; onSelectTimePanel: (value: Moment) => void; clearValue: () => void; onDateInputChange: (inputStr: string | null | undefined, e: UIEvent, eventType?: string) => void; onTimeInputChange: (inputStr: string) => void; onDateInputBlur: () => void; onTimeInputBlur: () => void; onKeyDown: (e: KeyboardEvent) => void; onTimeKeyDown: (e: KeyboardEvent) => void; handleChange: (newValue: Moment | null, prevValue: Moment | null, others?: {}) => void; onFoucsDateInput: () => void; onFoucsTimeInput: () => void; onVisibleChange: (visible: boolean, type: string) => void; changePanel: (panel: DatePickerState['panel']) => void; onOk: (value?: Moment | null) => void; renderPreview(others: HTMLAttributes): React.JSX.Element; render(): React.JSX.Element; } declare const _default: typeof DatePicker; export default _default;