/// /// import type { SearchWidgetConfig, SearchApiService, SearchWidgetEmits, SearchProduct, SearchHint } from "../types"; /** * Основной composable для виджета поиска */ export declare function useSearchWidget(config: SearchWidgetConfig, apiService: SearchApiService | undefined, emit: SearchWidgetEmits): { handleInput: (event: Event) => void; handleSearch: () => Promise; handleFocus: () => Promise; handleClick: () => Promise; handleBlur: () => Promise; hideSuggestions: () => void; handleClear: () => void; selectHistoryQuery: (query: string) => Promise; selectQuery: (query: string) => Promise; selectHint: (hint: SearchHint) => Promise; selectFullHint: (hint: string) => Promise; selectHintByFullText: (hint: SearchHint) => Promise; selectProduct: (product: SearchProduct, event?: MouseEvent) => Promise; deleteHistoryQuery: (query: string) => Promise; clearHistory: () => Promise; formatPrice: (price: number) => string; handleImageError: (event: Event) => void; searchQuery: import("vue").Ref; showSuggestions: import("vue").Ref; isLoading: import("vue").Ref; isFastLoading: import("vue").Ref; error: import("vue").Ref; historyQueries: import("vue").Ref; popularQueries: import("vue").Ref; popularProducts: import("vue").Ref<{ id: string; name: string; description?: string | undefined; price: number; picture: string | null; url: string | null; vendor_code: string; properties: { name: string; values: { value: string; }[]; }[]; category?: { id: string; name: string; } | null | undefined; classification_properties?: { id: string; name: string; value: { id: string; name: string; }; }[] | undefined; }[], SearchProduct[] | { id: string; name: string; description?: string | undefined; price: number; picture: string | null; url: string | null; vendor_code: string; properties: { name: string; values: { value: string; }[]; }[]; category?: { id: string; name: string; } | null | undefined; classification_properties?: { id: string; name: string; value: { id: string; name: string; }; }[] | undefined; }[]>; searchResults: import("vue").Ref<{ id: string; name: string; description?: string | undefined; price: number; picture: string | null; url: string | null; vendor_code: string; properties: { name: string; values: { value: string; }[]; }[]; category?: { id: string; name: string; } | null | undefined; classification_properties?: { id: string; name: string; value: { id: string; name: string; }; }[] | undefined; }[], SearchProduct[] | { id: string; name: string; description?: string | undefined; price: number; picture: string | null; url: string | null; vendor_code: string; properties: { name: string; values: { value: string; }[]; }[]; category?: { id: string; name: string; } | null | undefined; classification_properties?: { id: string; name: string; value: { id: string; name: string; }; }[] | undefined; }[]>; productHints: import("vue").Ref<{ word: string; hint: string; }[], SearchHint[] | { word: string; hint: string; }[]>; fullHints: import("vue").Ref; hasSearchResults: import("vue").Ref; hasHistory: import("vue").ComputedRef; hasPopularQueries: import("vue").ComputedRef; hasPopularProducts: import("vue").ComputedRef; hasSearchResultsData: import("vue").ComputedRef; hasProductHints: import("vue").ComputedRef; hasFullHints: import("vue").ComputedRef; isEmptyQuery: import("vue").ComputedRef; resetSearchState: () => void; updateSearchQuery: (query: string) => void; toggleSuggestions: (show: boolean) => void; setFastLoading: (loading: boolean) => void; }; //# sourceMappingURL=useSearchWidget.d.ts.map