/**
 * SuggestionsProvider
 *
 * Provides suggestions state (query, suggestions, products, recent, trending, tabs),
 * actions (selectSuggestion, selectProduct, submitSearch, etc.), and keyboard navigation.
 * Uses useQuerySuggestionsEnhanced and useSuggestionsAnalytics; must be inside SearchProvider.
 */
import React from "react";
import type { SuggestionItem, ProductItem } from "@seekora-ai/ui-sdk-types";
export interface SuggestionsProviderProps {
    children: React.ReactNode;
    /** Min query length to fetch suggestions */
    minQueryLength?: number;
    /** Debounce ms for suggestion fetch */
    debounceMs?: number;
    /** Max suggestions */
    maxSuggestions?: number;
    /** Include dropdown recommendations (trending, products, etc.) */
    includeDropdownRecommendations?: boolean;
    /** Filtered tabs config */
    filteredTabs?: Array<{
        id?: string;
        label: string;
        filter: string;
    }>;
    /** Enable analytics (V3) */
    enableAnalytics?: boolean;
    /** Analytics tags */
    analyticsTags?: string[];
    /** Callback when user submits search (e.g. navigate to results page) */
    onSearch?: (query: string) => void;
    /** Callback when user selects a suggestion */
    onSuggestionSelect?: (suggestion: SuggestionItem) => void;
    /** Callback when user clicks a product */
    onProductClick?: (product: ProductItem) => void;
    /**
     * localStorage key for recent searches. Namespaces storage per instance so
     * multiple search bars on the same page do not cross-pollinate their recents.
     * Default: 'seekora_recent_searches'.
     */
    storageKey?: string;
    /**
     * Optional callback invoked when a localStorage read or write fails.
     * The hook still silently degrades — this is purely opt-in observability.
     */
    onStorageError?: (err: Error, op: "read" | "write") => void;
    /** Start in open state. Used by layout engine predictive surface where
     * the theme dialog is already open when we mount. */
    initialOpen?: boolean;
    /** Generic field mapping for documents — dot-paths resolved against raw hits.
     * Passed through to useQuerySuggestionsEnhanced. */
    documentFieldMapping?: Record<string, string>;
}
export declare function SuggestionsProvider({ children, minQueryLength, debounceMs, maxSuggestions, includeDropdownRecommendations, filteredTabs, enableAnalytics, analyticsTags, onSearch, onSuggestionSelect, onProductClick, storageKey, onStorageError, initialOpen, documentFieldMapping, }: SuggestionsProviderProps): React.JSX.Element;
//# sourceMappingURL=SuggestionsProvider.d.ts.map