/// <reference types="react" />
import { PureComponent } from '../component';
import Picker from './Picker';
import { AreaType, QuickSelectType } from './Props';
import { RangeProps, DisabledType, DatePickerValue } from './Props';
interface RangeState {
    rangeDate: Date[];
}
declare class Range extends PureComponent<RangeProps, RangeState> {
    static defaultProps: {
        value: never[];
    };
    pickers: Picker[];
    handleFirstChange: (date: Date, change: boolean | undefined, _blur: boolean | undefined, _isEnd: boolean | undefined, _isQuickSelect: QuickSelectType | undefined, areaType: AreaType) => void;
    handleSecondChange: (date: Date, change: boolean | undefined, _blur: boolean | undefined, _isEnd: boolean | undefined, _isQuickSelect: QuickSelectType | undefined, areaType: AreaType) => void;
    bindFirstPicker: (picker: Picker) => void;
    bindSecondPicker: (picker: Picker) => void;
    handleDisabledStart: ((date: Date, type?: DisabledType, value?: DatePickerValue) => boolean);
    handleDisabledEnd: ((date: Date, type?: DisabledType, value?: DatePickerValue) => boolean);
    constructor(props: RangeProps);
    componentDidUpdate(prevProps: RangeProps): void;
    getOptions(): {
        timeZone: string | undefined;
        weekStartsOn: any;
    };
    bindPicker(index: number, el: Picker): void;
    resetRange(rangeDate: DatePickerValue): void;
    handleDayHover(date: Date): void;
    changeDateSmart(rangeDate: Date[]): void;
    handleChange(index: number, date: Date, change: boolean | undefined, _blur: boolean | undefined, _isEnd: boolean | undefined, _isQuickSelect: QuickSelectType | undefined, areaType: AreaType): void;
    handleDisabled(type: DisabledType, date: Date): boolean;
    handleQuick(quick: QuickSelectType): void;
    render(): JSX.Element;
}
export default Range;
