import React, { ReactNode, Ref, FocusEventHandler, CSSProperties } from 'react'; import { DateType, RangeValue, EventValue, DisabledTimes, PanelMode, SharedTimeProps } from './interface'; import { PickerBaseProps, PickerDateProps, PickerTimeProps } from './date-picker'; export declare type RangeType = 'start' | 'end'; export interface RangeInfo { range: RangeType; } export declare type RangeDateRender = (currentDate: DateType, today: DateType, info: RangeInfo) => ReactNode; export interface RangePickerSharedProps { id?: string; value?: RangeValue; defaultValue?: RangeValue; defaultPickerValue?: [DateType, DateType]; placeholder?: [string, string]; disabled?: boolean | [boolean, boolean]; disabledTimePanel?: (date: EventValue, type: RangeType) => DisabledTimes; ranges?: Record DateType[])>; separator?: ReactNode; allowEmpty?: [boolean, boolean]; suffixIcon?: ReactNode; clearIcon?: ReactNode; mode?: [PanelMode, PanelMode]; onChange?: (values: RangeValue, formatString: [string | null, string | null]) => void; onCalendarChange?: (values: RangeValue, formatString: [string | null, string | null], info: RangeInfo) => void; onPanelChange?: (values: RangeValue, modes: [PanelMode, PanelMode]) => void; onFocus?: FocusEventHandler; onBlur?: FocusEventHandler; onOk?: (dates: RangeValue) => void; activePickerIndex?: 0 | 1; dateRender?: RangeDateRender; panelRender?: (originPanel: ReactNode) => ReactNode; getPopupContainer?: (node: HTMLElement) => HTMLElement; popupRef?: Ref; popupStyle?: CSSProperties; dropdownClassName?: string; } declare type OmitPickerProps = Omit; export declare type RangeShowTimeObject = Omit & { defaultValue?: DateType[]; }; export interface RangePickerBaseProps extends RangePickerSharedProps, OmitPickerProps { } export interface RangePickerDateProps extends RangePickerSharedProps, OmitPickerProps { showTime?: boolean | RangeShowTimeObject; } export interface RangePickerTimeProps extends RangePickerSharedProps, OmitPickerProps { order?: boolean; } export declare type RangePickerProps = RangePickerBaseProps | RangePickerDateProps | RangePickerTimeProps; export declare type RangeArray = { key: string; newValue: RangeValue; }[]; declare const RangePicker: React.ForwardRefExoticComponent<(Partial & React.RefAttributes) | (Partial & React.RefAttributes) | (Partial & React.RefAttributes)>; export default RangePicker;