import { ReactElement } from 'react';
import { InputProps } from '../Input';
import { MenuProps } from '../Menu';
import './SearchBar.less';
interface SearchBarBaseProps {
    /**
     * @ignore
     */
    className?: string;
    /**
     * @ignore
     */
    baseClassName?: string;
    /**
     * Maximum width of SearchBar
     * @since 0.1.0
     */
    maxWidth?: number;
    /**
     * Minimum width of SearchBar
     * @since 0.1.0
     */
    minWidth?: number;
    /**
     * Should disable input and show spinner or not.
     * @since 0.1.0
     */
    loading?: boolean;
    /**
     * Should collapse input or not. Used for control in independence of context.
     * @since 0.1.0
     */
    responsive?: boolean;
    /**
     * Callback for pressing 'Enter' key or 'Search' button.
     *
     * arguments:
     * * value - search value
     * * clearHandler - function that clears input value
     * @since 0.1.0
     */
    onSearch?: (value: string, clearHandler: () => void) => void;
    /**
     * Callback for pressing any key in input. Used for a live search.
     *
     * arguments:
     * * value - search value
     * * clearHandler - function that clears input value
     * @since 0.1.0
     */
    onTyping?: (value: string, clearHandler: () => void) => void;
    /**
     * Callback for selecting menu item with mouse click or key pressing.
     *
     * arguments:
     * * value - selected value
     * * clearHandler - function that clears input value
     * @since 0.1.0
     */
    onItemSelect?: (value: string, clearHandler: () => void) => void;
    /**
     * Should render toggle button or not.
     * @since 2.2.0
     */
    collapsable?: boolean;
    /**
     * Callback for pressing toggle button (in normal mode).
     * @since 2.2.0
     */
    onCollapse?: () => void;
    /**
     * Callback for pressing toggle button (in collapsed mode).
     * @since 2.2.0
     */
    onExpand?: () => void;
    /**
     * Results to display.
     * Could be specified by array of objects with "value" and "title" properties or by Menu component.
     * If Menu component is used then key property of MenuItem will be treated as value.
     * @since 0.1.0
     */
    results?: ReactElement<MenuProps> | {
        value: string;
        title: string;
    }[];
    /**
     * Props of underlying input element.
     * @since 0.4.1
     */
    inputProps?: Omit<InputProps, 'value'> & {
        value?: string;
    };
    /**
     * @ignore
     */
    autoFocus?: boolean;
    /**
     * @ignore
     */
    key?: number | string;
}
declare const SearchBarWrapper: {
    (props: SearchBarBaseProps): import("react/jsx-runtime").JSX.Element;
    displayName: string;
};
export default SearchBarWrapper;
export { SearchBarBaseProps as SearchBarProps };
