import React, { Component } from 'react';
declare const InputSizes: ['small', 'default', 'large'];
type SIProps = {
    onBlur: () => void;
    onFocus: () => void;
    prefix: React.ReactNode[];
    placeholder: string;
    optionRenderer: (item: object) => string | object;
    tipText: string;
    enterButton: string;
    buttonClassName?: string;
    autocompleteClassName?: string;
    searchPromise: (value: string) => Promise<any>;
    onSelect: (value: string) => void;
    disabled: boolean;
    size: typeof InputSizes[number];
    onRemoveImage: () => void;
    suffix: object[];
};
type SIState = {
    label: string;
    image: any;
    dataSource: any[];
    loading: boolean;
    showTips: boolean;
};
/**
 * 搜索框。根据用户在input中输入的内容，调用外部的接口获取AutoComplete数据。
 * 并且把用户最终的选择通过callback传递到外部组件中。
 */
declare class SearchInput extends Component<SIProps, SIState> {
    searchLabel: string;
    dataProvider: Map<any, any>;
    input: any;
    timer: any;
    static addSuffix(suffix: any[], element: JSX.Element): void;
    static getDerivedStateFromProps(props: {
        injectImage: any;
    }, state: any): any;
    constructor(props: SIProps | Readonly<SIProps>);
    getInputText: () => string;
    handleInputBlur: () => void;
    handleInputFocus: () => void;
    handleClickClearIcon: () => void;
    toggleTipText: () => void;
    handleLabelChange: (v: string) => void;
    doRemoveImage: () => void;
    handleSelect: (value: any) => void;
    handleConfirm: () => void;
    defaultOptionRenderer: (renderer: ((arg0: any) => any) | null) => (item: {
        id: React.Key | null | undefined;
        label: string | number | boolean | React.ReactElement<any, string | React.JSXElementConstructor<any>> | React.ReactFragment | React.ReactPortal | null | undefined;
    }) => any;
    renderTipContent: () => React.JSX.Element | undefined;
    render(): React.JSX.Element;
}
export default SearchInput;
