import { Component } from 'react';
import PropTypes from 'prop-types';
export declare class SoftFieldSearch extends Component<{
    onChange?: any;
    onSearch?: any;
    modern?: boolean;
    title?: any;
    inputRef?: any;
    className?: any;
    id?: any;
    name?: any;
    placeholder?: any;
    value?: any;
    isInvalid?: any;
    fullWidth?: any;
    isLoading?: any;
    incremental?: any;
    compressed?: any;
    onKeyUp?: any;
    defaultValue?: any;
    disabled?: boolean;
    onKeyDown?: () => any;
}> {
    static propTypes: {
        name: PropTypes.Requireable<string>;
        id: PropTypes.Requireable<string>;
        placeholder: PropTypes.Requireable<string>;
        value: PropTypes.Requireable<string>;
        isInvalid: PropTypes.Requireable<boolean>;
        fullWidth: PropTypes.Requireable<boolean>;
        isLoading: PropTypes.Requireable<boolean>;
        inputRef: PropTypes.Requireable<(...args: any[]) => any>;
        /**
         * Called when the user presses [Enter] OR on change if the incremental prop is `true`.
         * If you don't need the on[Enter] functionality, prefer using onChange
         */
        onSearch: PropTypes.Requireable<(...args: any[]) => any>;
        /**
         * When `true` the search will be executed (that is, the `onSearch` will be called) as the
         * user types.
         */
        incremental: PropTypes.Requireable<boolean>;
        /**
         * when `true` creates a shorter height input
         */
        compressed: PropTypes.Requireable<boolean>;
    };
    static defaultProps: {
        fullWidth: boolean;
        isLoading: boolean;
        incremental: boolean;
        compressed: boolean;
    };
    private inputElement;
    private cleanups;
    constructor(props: any);
    componentDidMount(): void;
    componentWillUnmount(): void;
    setRef: (inputElement: any) => void;
    onKeyUp: (incremental: any, onSearch: any, event: any) => void;
    onChange: (e: any, onChange: any) => void;
    render(): JSX.Element;
}
