import * as React from 'react'; import { DisabledTimes, PanelMode, RangeValue, EventValue } from './interface'; import { PickerBaseProps, PickerDateProps, PickerTimeProps, PickerRefConfig } from './Picker'; import { SharedTimeProps } from './panels/TimePanel'; export declare type RangeType = 'start' | 'end'; export interface RangeInfo { range: RangeType; } export declare type RangeDateRender = (currentDate: DateType, today: DateType, info: RangeInfo) => React.ReactNode; export interface RangePickerSharedProps { id?: string; value?: RangeValue; defaultValue?: RangeValue; defaultPickerValue?: [DateType, DateType]; placeholder?: [string, string]; disabled?: boolean | [boolean, boolean]; disabledTime?: (date: EventValue, type: RangeType) => DisabledTimes; 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; 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; dateRender?: RangeDateRender; panelRender?: (originPanel: React.ReactNode) => React.ReactNode; } declare type OmitPickerProps = Omit; declare type RangeShowTimeObject = Omit, 'defaultValue'> & { 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; declare class RangePicker extends React.Component> { pickerRef: React.RefObject; focus: () => void; blur: () => void; render(): JSX.Element; } export default RangePicker;