import React, { ReactNode } from 'react';
import Menu from '../../../lib/rc-components/menu';
import Record from '../data-set/Record';
import { Select, SelectProps } from '../select/Select';
export interface AutoCompleteProps extends SelectProps {
    matcher: (value: string, inputText: string) => boolean;
}
export default class AutoComplete<T extends AutoCompleteProps> extends Select<T> {
    static displayName: string;
    menu?: Menu | null;
    isChoose?: boolean;
    inputText: string;
    static propTypes: {
        id: import("prop-types").Requireable<string>;
        size: import("prop-types").Requireable<import("../core/enum").Size>;
        suffixCls: import("prop-types").Requireable<string>;
        prefixCls: import("prop-types").Requireable<string>;
        title: import("prop-types").Requireable<import("prop-types").ReactNodeLike>;
        disabled: import("prop-types").Requireable<boolean>;
        hidden: import("prop-types").Requireable<boolean>;
        autoFocus: import("prop-types").Requireable<boolean>;
        accessKey: import("prop-types").Requireable<string | boolean>;
        dir: import("prop-types").Requireable<string>;
        contentEditable: import("prop-types").Requireable<string | boolean>;
        draggable: import("prop-types").Requireable<string | boolean>;
        style: import("prop-types").Requireable<object>;
        className: import("prop-types").Requireable<string>;
        tabIndex: import("prop-types").Requireable<number>;
        lang: import("prop-types").Requireable<string>;
        spellCheck: import("prop-types").Requireable<boolean>;
        onFocus: import("prop-types").Requireable<(...args: any[]) => any>;
        onBlur: import("prop-types").Requireable<(...args: any[]) => any>;
        onClick: import("prop-types").Requireable<(...args: any[]) => any>;
        onDoubleClick: import("prop-types").Requireable<(...args: any[]) => any>;
        onMouseUp: import("prop-types").Requireable<(...args: any[]) => any>;
        onMouseDown: import("prop-types").Requireable<(...args: any[]) => any>;
        onMouseMove: import("prop-types").Requireable<(...args: any[]) => any>;
        onMouseEnter: import("prop-types").Requireable<(...args: any[]) => any>;
        onMouseLeave: import("prop-types").Requireable<(...args: any[]) => any>;
        onMouseOver: import("prop-types").Requireable<(...args: any[]) => any>;
        onMouseOut: import("prop-types").Requireable<(...args: any[]) => any>;
        onContextMenu: import("prop-types").Requireable<(...args: any[]) => any>;
        onKeyDown: import("prop-types").Requireable<(...args: any[]) => any>;
        onKeyUp: import("prop-types").Requireable<(...args: any[]) => any>;
        onKeyPress: import("prop-types").Requireable<(...args: any[]) => any>;
        dataSet: import("prop-types").Requireable<object>;
        _inTable: import("prop-types").Requireable<boolean>;
        type: import("prop-types").Requireable<string>;
        name: import("prop-types").Requireable<string>;
        value: import("prop-types").Requireable<any>;
        defaultValue: import("prop-types").Requireable<any>;
        required: import("prop-types").Requireable<boolean>;
        readOnly: import("prop-types").Requireable<boolean>;
        form: import("prop-types").Requireable<string>;
        dataIndex: import("prop-types").Requireable<number>;
        multiple: import("prop-types").Requireable<boolean>;
        range: import("prop-types").Requireable<boolean | (string | null | undefined)[]>;
        rowSpan: import("prop-types").Requireable<number>;
        newLine: import("prop-types").Requireable<boolean>;
        colSpan: import("prop-types").Requireable<number>;
        validator: import("prop-types").Requireable<(...args: any[]) => any>;
        onInvalid: import("prop-types").Requireable<(...args: any[]) => any>;
        help: import("prop-types").Requireable<string>;
        showHelp: import("prop-types").Requireable<import("../field/enum").ShowHelp>;
        renderer: import("prop-types").Requireable<(...args: any[]) => any>;
        validationRenderer: import("prop-types").Requireable<(...args: any[]) => any>;
        maxTagPlaceholder: import("prop-types").Requireable<string | number | boolean | {} | import("prop-types").ReactElementLike | import("prop-types").ReactNodeArray>;
        maxTagCount: import("prop-types").Requireable<number>;
        maxTagTextLength: import("prop-types").Requireable<number>;
        pristine: import("prop-types").Requireable<boolean>;
        trim: import("prop-types").Requireable<import("../data-set/enum").FieldTrim>;
        onBeforeChange: import("prop-types").Requireable<(...args: any[]) => any>;
        onChange: import("prop-types").Requireable<(...args: any[]) => any>;
        onInput: import("prop-types").Requireable<(...args: any[]) => any>;
        onEnterDown: import("prop-types").Requireable<(...args: any[]) => any>;
        fieldClassName: import("prop-types").Requireable<string>;
        highlight: import("prop-types").Requireable<string | number | boolean | {} | import("prop-types").ReactElementLike | import("prop-types").ReactNodeArray>;
        highlightRenderer: import("prop-types").Requireable<(...args: any[]) => any>;
        useColon: import("prop-types").Requireable<boolean>;
        showValidation: import("prop-types").Requireable<string>;
        placeholder: import("prop-types").Requireable<string | (string | null | undefined)[]>;
        minLength: import("prop-types").Requireable<number>;
        maxLength: import("prop-types").Requireable<number>;
        pattern: import("prop-types").Requireable<string | object>;
        autoComplete: import("prop-types").Requireable<string>;
        prefix: import("prop-types").Requireable<import("prop-types").ReactNodeLike>;
        suffix: import("prop-types").Requireable<import("prop-types").ReactNodeLike>;
        clearButton: import("prop-types").Requireable<boolean>;
        addonBefore: import("prop-types").Requireable<import("prop-types").ReactNodeLike>;
        addonBeforeStyle: import("prop-types").Requireable<object>;
        addonAfter: import("prop-types").Requireable<import("prop-types").ReactNodeLike>;
        addonAfterStyle: import("prop-types").Requireable<object>;
        restrict: import("prop-types").Requireable<string | object>;
        isFlat: import("prop-types").Requireable<boolean>;
        valueChangeAction: import("prop-types").Requireable<import("../text-field/enum").ValueChangeAction>;
        wait: import("prop-types").Requireable<number>;
        waitType: import("prop-types").Requireable<import("../core/enum").WaitType>;
        groupClassName: import("prop-types").Requireable<string>;
        showLengthInfo: import("prop-types").Requireable<boolean>;
        border: import("prop-types").Requireable<boolean>;
        popupContent: import("prop-types").Requireable<string | number | boolean | {} | import("prop-types").ReactElementLike | import("prop-types").ReactNodeArray>;
        popupCls: import("prop-types").Requireable<string>;
        popupStyle: import("prop-types").Requireable<object>;
        popupPlacement: import("prop-types").Requireable<string>;
        trigger: React.Requireable<any>;
        triggerShowDelay: import("prop-types").Requireable<number>;
        triggerHiddenDelay: import("prop-types").Requireable<number>;
        onPopupHiddenChange: import("prop-types").Requireable<(...args: any[]) => any>;
        getPopupContainer: import("prop-types").Requireable<(...args: any[]) => any>;
        getPopupAlignTarget: import("prop-types").Requireable<(...args: any[]) => any>;
        tabIntoPopupContent: import("prop-types").Requireable<boolean>;
        viewMode: import("prop-types").Requireable<string>;
        combo: import("prop-types").Requireable<boolean>;
        commonItem: import("prop-types").Requireable<any[]>;
        maxCommonTagPlaceholder: import("prop-types").Requireable<string | number | boolean | {} | import("prop-types").ReactElementLike | import("prop-types").ReactNodeArray>;
        maxCommonTagCount: import("prop-types").Requireable<number>;
        maxCommonTagTextLength: import("prop-types").Requireable<number>;
        searchable: import("prop-types").Requireable<boolean>;
        searchMatcher: import("prop-types").Requireable<string | ((...args: any[]) => any)>;
        paramMatcher: import("prop-types").Requireable<string | ((...args: any[]) => any)>;
        primitiveValue: import("prop-types").Requireable<boolean>;
        optionRenderer: import("prop-types").Requireable<(...args: any[]) => any>;
        notFoundContent: import("prop-types").Requireable<import("prop-types").ReactNodeLike>;
        pagingOptionContent: import("prop-types").Requireable<import("prop-types").ReactNodeLike>;
        onOption: import("prop-types").Requireable<(...args: any[]) => any>;
        noCache: import("prop-types").Requireable<boolean>;
        dropdownMatchSelectWidth: import("prop-types").Requireable<boolean>;
        selectAllButton: import("prop-types").Requireable<boolean | ((...args: any[]) => any)>;
        reverse: import("prop-types").Requireable<boolean>;
        optionTooltip: import("prop-types").Requireable<string>;
        defaultActiveFirstOption: import("prop-types").Requireable<boolean>;
    };
    static defaultProps: {
        searchable: boolean;
        suffixCls: string;
        matcher: (value: string, inputText: string) => boolean;
        combo: boolean;
        checkValueOnOptionsChange: boolean;
        onOption: ({ record }: {
            record: any;
        }) => {
            disabled: any;
        };
        selectAllButton: boolean;
        clearButton: boolean;
        popupPlacement: string;
        triggerShowDelay: number;
        triggerHiddenDelay: number;
        viewMode: string;
        multiple: boolean;
        border: boolean;
        valueChangeAction: import("../text-field/enum").ValueChangeAction;
        waitType: import("../core/enum").WaitType;
        readOnly: boolean;
        disabled: boolean;
        noValidate: boolean;
        trim: import("../data-set/enum").FieldTrim;
    };
    getTriggerIconFont(): string;
    getNotFoundContent(): null;
    getOmitPropsKeys(): string[];
    renderLengthInfo(maxLength?: number, inputLength?: number): ReactNode;
    handleChange(e: any): void;
    choose(record?: Record | null): void;
    handleFocus(e: any): void;
    handleBlur(e: any): void;
    getMenu(menuProps?: object): ReactNode;
}
