import React, { FocusEvent, KeyboardEvent } from 'react';
import { PureComponent } from '../component';
import Picker from './Picker';
import Range from './Range';
import { AreaType, BaseProps, DateTimeType, ContainerProps, vaildFn, vaildFns, QuickSelectType } from './Props';
interface ContainerState {
    focus: boolean;
    current: Date[] | Date;
    position: BaseProps['position'];
    picker0: boolean;
    picker1: boolean;
}
declare class Container extends PureComponent<ContainerProps, ContainerState> {
    static defaultProps: {
        type: string;
        clearable: boolean;
        allowSingle: boolean;
        placeholder: JSX.Element;
    };
    handleClick: any;
    handleBlur: any;
    disabledMap: {
        day?: vaildFn | vaildFns;
        date?: vaildFn | vaildFns;
        time?: vaildFn | vaildFns;
        month?: vaildFn | vaildFns;
        year?: vaildFn | vaildFns;
        quarter?: vaildFn | vaildFns;
        datetime?: vaildFn | vaildFns;
        week?: vaildFn | vaildFns;
    };
    pickerId: string;
    firstRender: boolean;
    element: HTMLSpanElement;
    picker: Range | Picker;
    pickerContainer: HTMLDivElement;
    textSpan: HTMLSpanElement;
    lastFoucs: boolean;
    constructor(props: ContainerProps);
    componentDidMount(): void;
    componentDidUpdate(): void;
    componentWillUnmount(): void;
    get focus(): boolean;
    setOpenEvent(): void;
    getOptions(): {
        timeZone: string | undefined;
        weekStartsOn: any;
    };
    getCurrent(): Date | Date[];
    getFormat(): string;
    getQuick(format: string): ({
        name: string;
        invalid: boolean;
        value?: undefined;
    } | {
        name: string;
        value: Date[];
        invalid?: undefined;
    })[] | undefined;
    getDefaultTime(): DateTimeType[];
    bindElement(el: HTMLDivElement): void;
    bindPicker(picker: Range | Picker): void;
    bindWrappedPicker(el: HTMLDivElement): void;
    bindTextSpan(el: HTMLSpanElement): void;
    parseDate(value: DateTimeType): Date;
    bindClickAway(): void;
    clearClickAway(): void;
    shouldFocus(el: HTMLElement): boolean;
    handleClickAway(e: MouseEvent): void;
    handleFocus(e: FocusEvent<HTMLDivElement>): void;
    handleKeyDown(e: KeyboardEvent<HTMLDivElement>): void;
    handleToggle(focus: boolean, e?: MouseEvent): void;
    triggerValueBlur(cb: () => void): void;
    disabledRegister(disabled: vaildFn, mode: 'time' | 'date' | 'week' | 'month' | 'year' | 'quarter' | 'datetime', index: number): void;
    handleDisabled(date: Date, index: number): boolean;
    handleTextChange(date: Date, index: number, e: FocusEvent): void;
    dateToCurrent(date: Date | Date[]): Date | Date[];
    handleChange(date: Date[] | Date, change: boolean | null | undefined, blur: boolean | null | undefined, _isEnd: boolean | null | undefined, isQuickSelect: QuickSelectType | undefined, areaType: AreaType): void;
    handleClear(e: React.MouseEvent): void;
    handleHover(index: number, isEnter: boolean): void;
    renderText(value: Date, placeholder: string, key?: 0 | 1): JSX.Element;
    renderResult(): JSX.Element;
    renderWrappedPicker(): JSX.Element;
    renderPicker(): JSX.Element | undefined;
    render(): JSX.Element;
}
export default Container;
