import React from "react";
import { ConfigRedirect, ElasticProduct } from "../types";
export declare const useSearch: () => {
    /** The current search term */
    searchTerm: string;
    /** Function for changing the current search term */
    setSearchTerm: (searchTerm?: string) => void;
    /** Function for navigating to the search page, includes logic for redirects */
    submitSearchTerm: (searchTerm?: string) => void;
    /** Function for retrieving search results for an opensearch query */
    submitSearchQuery: (searchBody: any, searchHeaders: Record<string, string>) => Promise<{
        results: Array<ElasticProduct>;
        resultStats: {
            time: number;
            numberOfResults: number;
            displayedResults: number;
        };
    }>;
    /** Used to determine if instant search results should be displayed */
    showInstantSearchResults: boolean;
    /** Used to manually set the "showInstantSearchResults" value */
    setShowInstantSearchResults: React.Dispatch<React.SetStateAction<boolean>>;
    /** Contains any matching redirect for the current search term */
    searchRedirect: ConfigRedirect | undefined;
};
