import React, { Component, type HTMLAttributes, type KeyboardEvent, type SyntheticEvent } from 'react'; import PropTypes from 'prop-types'; import moment, { type Moment } from 'moment'; import { type ClassPropsWithDefault } from '../util'; import type { PanelType, RangePickerProps, RangePickerState } from './types'; type InnerRangePickerProps = ClassPropsWithDefault; /** * DatePicker.RangePicker */ declare class RangePicker extends Component { static displayName: string; static propTypes: { prefix: PropTypes.Requireable; rtl: PropTypes.Requireable; type: PropTypes.Requireable; defaultVisibleMonth: PropTypes.Requireable<(...args: any[]) => any>; onVisibleMonthChange: PropTypes.Requireable<(...args: any[]) => any>; value: PropTypes.Requireable; defaultValue: PropTypes.Requireable; 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>; label: PropTypes.Requireable; state: PropTypes.Requireable; 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>; startDateInputAriaLabel: PropTypes.Requireable; startTimeInputAriaLabel: PropTypes.Requireable; endDateInputAriaLabel: PropTypes.Requireable; endTimeInputAriaLabel: PropTypes.Requireable; isPreview: PropTypes.Requireable; renderPreview: PropTypes.Requireable<(...args: any[]) => any>; disableChangeMode: PropTypes.Requireable; yearRange: PropTypes.Requireable<(number | null | undefined)[]>; ranges: PropTypes.Requireable; locale: PropTypes.Requireable; className: PropTypes.Requireable; name: PropTypes.Requireable; popupComponent: PropTypes.Requireable; popupContent: PropTypes.Requireable; placeholder: PropTypes.Requireable>; defaultPropsConfig: PropTypes.Requireable; errorBoundary: PropTypes.Requireable>; pure: PropTypes.Requireable; warning: PropTypes.Requireable; device: PropTypes.Requireable; children: PropTypes.Requireable; }; static defaultProps: { prefix: string; rtl: boolean; type: string; size: string; showTime: boolean; resetTime: boolean; disabledDate: () => boolean; footerRender: () => null; hasClear: boolean; defaultVisible: 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; }; disableChangeMode: boolean; onChange: () => void; onOk: () => void; onVisibleChange: () => void; }; readonly props: InnerRangePickerProps; startDateInputRef: React.RefObject> & Pick, "focus" | "getInputNode">>; endDateInputRef: React.RefObject> & Pick, "focus" | "getInputNode">>; autoSwitchDateInput: boolean; constructor(props: RangePickerProps); static getDerivedStateFromProps(props: InnerRangePickerProps): { format: string | undefined; timeFormat: string; dateTimeFormat: string | undefined; startValue?: moment.Moment | null | undefined; endValue?: moment.Moment | null | undefined; startTime?: moment.Moment | null | undefined; endTime?: moment.Moment | null | undefined; inputAsString?: boolean | undefined; visible?: boolean | undefined; startDateInputStr?: string | undefined; endDateInputStr?: string | undefined; activeDateInput?: "startValue" | "endValue" | "startTime" | "endTime" | undefined; startTimeInputStr?: string | undefined; endTimeInputStr?: string | undefined; inputing?: string | boolean | undefined; panel?: PanelType | undefined; }; onValueChange: (values: (Moment | undefined | null)[], handler?: 'onOk' | 'onChange') => void; onSelectCalendarPanel: (value: Moment, active?: RangePickerState['activeDateInput']) => void; clearRange: () => void; onDateInputChange: (inputStr: string, e: SyntheticEvent, eventType?: string) => void; onDateInputBlur: () => void; onDateInputKeyDown: (e: KeyboardEvent) => void; onFocusDateInput: (type: RangePickerState['activeDateInput']) => void; onFocusTimeInput: (type: RangePickerState['activeDateInput']) => void; onSelectStartTime: (value: Moment) => void; onSelectEndTime: (value: Moment) => void; onTimeInputChange: (inputStr: string) => void; onTimeInputBlur: () => void; onTimeInputKeyDown: (e: KeyboardEvent) => void; handleChange: (valueName: 'startValue' | 'endValue', newValue?: Moment | null) => void; onVisibleChange: (visible: boolean, type: string) => void; changePanel: (panel: PanelType) => void; onOk: (value?: (Moment | null | undefined)[]) => void; getDisabledTime: ({ startValue, endValue, }: { startValue?: moment.Moment | null | undefined; endValue?: moment.Moment | null | undefined; } & Record) => {}; enableAutoSwitchDateInput: () => void; afterOpen: () => void; renderPreview([startValue, endValue]: [Moment | null, Moment | null], others: HTMLAttributes): React.JSX.Element; render(): React.JSX.Element; } declare const _default: typeof RangePicker; export default _default;