import React from 'react';
import { OptionsControlProps, Option } from './Options';
export interface TagProps extends OptionsControlProps {
    placeholder?: string;
    clearable: boolean;
    resetValue?: any;
    optionsTip: string;
}
export interface TagState {
    inputValue: string;
    isFocused?: boolean;
    isOpened?: boolean;
}
export default class TagControl extends React.PureComponent<TagProps, TagState> {
    input: React.RefObject<any>;
    static defaultProps: {
        resetValue: string;
        labelField: string;
        valueField: string;
        multiple: boolean;
        placeholder: string;
    };
    state: {
        isOpened: boolean;
        inputValue: string;
        isFocused: boolean;
    };
    componentWillReceiveProps(nextProps: TagProps): void;
    addItem(option: Option): void;
    handleFocus(e: any): void;
    handleBlur(e: any): void;
    close(): void;
    handleInputChange(e: React.ChangeEvent<any>): void;
    handleChange(value: Array<Option>): void;
    renderItem(item: Option): any;
    handleKeyDown(evt: React.KeyboardEvent<HTMLInputElement>): void;
    handleOptionChange(option: Option): void;
    getTarget(): any;
    getParent(): HTMLElement | null;
    reload(): void;
    render(): JSX.Element;
}
export declare class TagControlRenderer extends TagControl {
}
