import * as React from 'react'; import type { CellRender, DisabledTimes, EventValue, PanelMode, PresetDate, RangeValue } from './interface'; import type { SharedTimeProps } from './panels/TimePanel'; import type { PickerBaseProps, PickerDateProps, PickerRefConfig, PickerTimeProps } from './Picker'; export declare type RangeType = 'start' | 'end'; export declare type RangeInfo = { range: RangeType; }; export declare type RangeDateRender = (currentDate: DateType, today: DateType, info: RangeInfo) => React.ReactNode; export declare type RangePickerSharedProps = { id?: string; value?: RangeValue; defaultValue?: RangeValue; defaultPickerValue?: [DateType, DateType]; placeholder?: [string, string]; disabled?: boolean | [boolean, boolean]; disabledTime?: (date: EventValue, type: RangeType) => DisabledTimes; presets?: PresetDate, null>>[]; /** @deprecated Please use `presets` instead */ ranges?: Record, null> | (() => Exclude, null>)>; separator?: React.ReactNode; allowEmpty?: [boolean, boolean]; mode?: [PanelMode, PanelMode]; onChange?: (values: RangeValue, formatString: [string, string]) => void; onCalendarChange?: (values: RangeValue, formatString: [string, string], info: RangeInfo) => void; onPanelChange?: (values: RangeValue, modes: [PanelMode, PanelMode]) => void; onFocus?: React.FocusEventHandler; onBlur?: React.FocusEventHandler; onMouseDown?: React.MouseEventHandler; onMouseUp?: React.MouseEventHandler; onMouseEnter?: React.MouseEventHandler; onMouseLeave?: React.MouseEventHandler; onClick?: React.MouseEventHandler; onOk?: (dates: RangeValue) => void; direction?: 'ltr' | 'rtl'; autoComplete?: string; /** @private Internal control of active picker. Do not use since it's private usage */ activePickerIndex?: 0 | 1; /** @deprecated use cellRender instead of dateRender */ dateRender?: RangeDateRender; cellRender?: CellRender; panelRender?: (originPanel: React.ReactNode) => React.ReactNode; /** * Trigger `onChange` event when blur. * If you don't want to user click `confirm` to trigger change, can use this. */ changeOnBlur?: boolean; }; declare type OmitPickerProps = Omit; declare type RangeShowTimeObject = Omit, 'defaultValue'> & { defaultValue?: DateType[]; }; export declare type RangePickerBaseProps = {} & RangePickerSharedProps & OmitPickerProps>; export declare type RangePickerDateProps = { showTime?: boolean | RangeShowTimeObject; } & RangePickerSharedProps & OmitPickerProps>; export declare type RangePickerTimeProps = { order?: boolean; } & RangePickerSharedProps & OmitPickerProps>; export declare type RangePickerProps = RangePickerBaseProps | RangePickerDateProps | RangePickerTimeProps; declare class RangePicker extends React.Component> { pickerRef: React.RefObject; focus: () => void; blur: () => void; render(): React.JSX.Element; } export default RangePicker;