import * as React from 'react';
import * as PropTypes from 'prop-types';
import moment from 'moment';
export interface PickerProps {
    prefixCls?: string;
    clearText?: string;
    value?: typeof moment | Array<typeof moment>;
    defaultOpenValue?: object;
    inputReadOnly?: boolean;
    disabled?: boolean;
    allowEmpty?: boolean;
    defaultValue?: object;
    open?: boolean;
    defaultOpen?: boolean;
    align?: object;
    placement?: any;
    transitionName?: string;
    getPopupContainer?: Function;
    placeholder?: string;
    format?: string;
    showHour?: boolean;
    showMinute?: boolean;
    showSecond?: boolean;
    style?: object;
    className?: string;
    popupClassName?: string;
    disabledHours?: Function;
    disabledMinutes?: Function;
    disabledSeconds?: Function;
    hideDisabledOptions?: boolean;
    onChange?: Function;
    onOpen?: Function;
    onClose?: Function;
    onFocus?: (event: React.FocusEvent<HTMLInputElement>) => void;
    onBlur?: (event: React.FocusEvent<HTMLInputElement>) => void;
    addon?: Function;
    name?: string;
    autoComplete?: string;
    use12Hours?: boolean;
    hourStep?: number;
    minuteStep?: number;
    secondStep?: number;
    focusOnOpen?: boolean;
    onKeyDown?: Function;
    autoFocus?: boolean;
    id?: string;
    multiple?: boolean;
    maximum?: number;
    maximumCb?: Function;
}
declare function noop(): void;
export default class Picker extends React.Component<PickerProps, any> {
    static propTypes: {
        prefixCls: PropTypes.Requireable<string>;
        clearText: PropTypes.Requireable<string>;
        value: PropTypes.Requireable<object>;
        defaultOpenValue: PropTypes.Requireable<object>;
        inputReadOnly: PropTypes.Requireable<boolean>;
        disabled: PropTypes.Requireable<boolean>;
        allowEmpty: PropTypes.Requireable<boolean>;
        defaultValue: PropTypes.Requireable<object>;
        open: PropTypes.Requireable<boolean>;
        defaultOpen: PropTypes.Requireable<boolean>;
        align: PropTypes.Requireable<object>;
        placement: PropTypes.Requireable<any>;
        transitionName: PropTypes.Requireable<string>;
        getPopupContainer: PropTypes.Requireable<(...args: any[]) => any>;
        placeholder: PropTypes.Requireable<string>;
        format: PropTypes.Requireable<string>;
        showHour: PropTypes.Requireable<boolean>;
        showMinute: PropTypes.Requireable<boolean>;
        showSecond: PropTypes.Requireable<boolean>;
        style: PropTypes.Requireable<object>;
        className: PropTypes.Requireable<string>;
        popupClassName: PropTypes.Requireable<string>;
        disabledHours: PropTypes.Requireable<(...args: any[]) => any>;
        disabledMinutes: PropTypes.Requireable<(...args: any[]) => any>;
        disabledSeconds: PropTypes.Requireable<(...args: any[]) => any>;
        hideDisabledOptions: PropTypes.Requireable<boolean>;
        onChange: PropTypes.Requireable<(...args: any[]) => any>;
        onOpen: PropTypes.Requireable<(...args: any[]) => any>;
        onClose: PropTypes.Requireable<(...args: any[]) => any>;
        onFocus: PropTypes.Requireable<(...args: any[]) => any>;
        onBlur: PropTypes.Requireable<(...args: any[]) => any>;
        addon: PropTypes.Requireable<(...args: any[]) => any>;
        name: PropTypes.Requireable<string>;
        autoComplete: PropTypes.Requireable<string>;
        use12Hours: PropTypes.Requireable<boolean>;
        hourStep: PropTypes.Requireable<number>;
        minuteStep: PropTypes.Requireable<number>;
        secondStep: PropTypes.Requireable<number>;
        focusOnOpen: PropTypes.Requireable<boolean>;
        onKeyDown: PropTypes.Requireable<(...args: any[]) => any>;
        autoFocus: PropTypes.Requireable<boolean>;
        id: PropTypes.Requireable<string>;
        multiple: PropTypes.Requireable<boolean>;
    };
    static defaultProps: {
        clearText: string;
        prefixCls: string;
        defaultOpen: boolean;
        inputReadOnly: boolean;
        style: {};
        className: string;
        popupClassName: string;
        id: string;
        align: {};
        defaultOpenValue: any;
        allowEmpty: boolean;
        showHour: boolean;
        showMinute: boolean;
        showSecond: boolean;
        disabledHours: typeof noop;
        disabledMinutes: typeof noop;
        disabledSeconds: typeof noop;
        hideDisabledOptions: boolean;
        placement: string;
        onChange: typeof noop;
        onOpen: typeof noop;
        onClose: typeof noop;
        onFocus: typeof noop;
        onBlur: typeof noop;
        addon: typeof noop;
        use12Hours: boolean;
        focusOnOpen: boolean;
        onKeyDown: typeof noop;
    };
    private saveInputRef;
    private savePanelRef;
    private picker;
    private panelDom;
    constructor(props: PickerProps);
    componentDidMount(): void;
    componentWillReceiveProps(nextProps: PickerProps): void;
    onPanelChange: (value: any) => void;
    onPanelClear: () => void;
    onVisibleChange: (open: boolean) => void;
    onEsc: () => void;
    onKeyDown: (e: React.KeyboardEvent<any>) => void;
    setValue(value: any): void;
    getFormat(): string;
    handleMultipleClick: (e: React.MouseEvent<any, MouseEvent>, target: any) => void;
    multipleAddOn: (target: any) => any;
    getPanelElement(): JSX.Element;
    getPopupClassName(): string | undefined;
    setOpen(open: boolean): void;
    focus(): void;
    blur(): void;
    removeSelected: (e: React.MouseEvent<any, MouseEvent>, target: any, index: number) => void;
    renderMultiple: (value: any[]) => JSX.Element;
    renderMultipleNode: (value: any[]) => JSX.Element[];
    cacularPopOffset: (length: number) => any[];
    render(): JSX.Element;
}
export {};
