import React from 'react';
declare type UseQueryHook<T> = (searchTerm: string, o: {
    skip?: boolean;
}) => {
    data: T;
    isFetching?: boolean;
};
interface SearchContext<T> {
    anchorEl?: React.MutableRefObject<HTMLDivElement>;
    searchValue?: string;
    onInputChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;
    onTeardown?: () => void;
    searching?: boolean;
    hasWindow?: boolean;
    openResult?: boolean;
    result?: T;
}
declare const SearchContext: React.Context<SearchContext<unknown>>;
interface SearchProviderProps<T> {
    minTerm?: number;
    useQuery: UseQueryHook<T>;
}
export declare const SearchProvider: {
    <T extends unknown>({ minTerm, useQuery, children }: React.PropsWithChildren<SearchProviderProps<T>>): JSX.Element;
    defaultProps: {
        minTerm: number;
    };
};
export default SearchContext;
