/// <reference types="react" />
import * as React from 'react';
import { SearchResultData, SearchProps } from 'semantic-ui-react';
import { SearchParams } from '../context/DataStore';
interface SearchBoxProps {
    placeholder: string;
    loading: boolean;
    sampleSearches?: string[];
    transition?: (params: SearchParams) => void;
}
interface SearchBoxState {
    query: string;
    shouldBeOpen: boolean;
    searchEditedByUser: boolean;
}
declare class SearchBox extends React.Component<SearchBoxProps, SearchBoxState> {
    static contextTypes: {
        searchState: React.Requireable<any>;
        transition: React.Requireable<any>;
    };
    state: {
        query: string;
        shouldBeOpen: boolean;
        searchEditedByUser: boolean;
    };
    constructor();
    onKeyUp(event: React.KeyboardEvent<object>): void;
    onChangeQuery(e: React.MouseEvent<HTMLElement>, data: SearchProps): void;
    onSelectTypeahead(e: React.MouseEvent<HTMLDivElement>, data: SearchResultData): void;
    onDoSearch(value: string): void;
    onBlur(): void;
    render(): JSX.Element;
}
export { SearchBoxProps, SearchBoxState, SearchBox };
