import type { ApiResponse, AuthorizeCustomerRequest, CatalogSearchRequest, CatalogSearchResponse, ProductClassificationSearchRequest, ProductClassificationSearchResponse, RecommendationProductsRequest, RecommendationQueryProductsRequest, RecommendationResponse, CrossSellProductsRequest, UpSellProductsRequest, RecentlyWatchedProductsRequest, HistoryQueriesSearchRequest, HistoryQueriesDeleteRequest, HistoryQueriesDeleteAllRequest, TopQueriesSearchRequest, TopQueriesResponse, PopularProductsSearchRequest, PopularProductsResponse, PopularBrandsSearchRequest, PopularBrandsResponse, ProductsUseRequest, PopularCategoriesSearchRequest, PopularCategoriesResponse, CategoriesUseRequest, SimilarProductsSearchRequest, SimilarProductsResponse, SearchApiConfig, AbTestResponse } from "../modules/searchWidget/types"; /** * Сервис для работы с API поиска */ export declare class SearchApiService { private readonly baseUrl; private readonly token; private readonly customerId; private readonly locationId; private readonly apiVersion; private readonly defaultHeaders; constructor(config: SearchApiConfig); /** * Формирует полный URL для API запроса */ private buildApiUrl; /** * Получить ID локации */ getLocationId(): string; /** * Получить ID клиента */ getCustomerId(): string; /** * Выполнить HTTP запрос к API */ private makeRequest; /** * Обработка ошибок HTTP ответа */ private handleErrorResponse; /** * Обработка ошибок сети */ private handleRequestError; /** * Объединение неавторизованного и авторизованного пользователя */ authorizeCustomer(request: AuthorizeCustomerRequest): Promise; /** * Поиск по каталогу */ searchCatalog(request: Partial): Promise>; /** * Валидация запроса авторизации клиента */ private validateCustomerRequest; /** * Валидация запроса поиска по каталогу */ private validateCatalogRequest; /** * Поиск результатов классификации продуктов */ searchProductClassification(request: Partial): Promise>; /** * Поиск рекомендаций "С этим товаром ищут" */ getRecommendationProducts(productId: string, request?: Partial>): Promise>; /** * Поиск рекомендаций "Искавшие также смотрели" */ getRecommendationQueryProducts(query: string, request?: Partial>): Promise>; /** * Поиск рекомендаций "С этим товаром покупают" (Cross Sell) */ getCrossSellProducts(productId: string, request?: Partial>): Promise>; /** * Поиск рекомендаций "Up Sell" (более дорогие альтернативы) */ getUpSellProducts(productId: string, request?: Partial>): Promise>; /** * Поиск недавно просмотренных товаров */ getRecentlyWatchedProducts(customerId: string, request?: Partial>): Promise>; /** * Проверка авторизации пользователя */ checkCustomerAuth(customerId: string): Promise>; /** * Получение популярных товаров */ getPopularProducts(request?: Partial): Promise>; /** * Получение топ запросов */ getTopQueries(request?: Partial): Promise>; /** * Поиск истории запросов пользователя */ getHistoryQueries(request: Partial): Promise>; /** * Удаление конкретного запроса из истории */ deleteHistoryQuery(request: HistoryQueriesDeleteRequest): Promise>; /** * Удаление всей истории запросов пользователя */ deleteAllHistoryQueries(request: HistoryQueriesDeleteAllRequest): Promise>; /** * Поиск похожих товаров */ getSimilarProducts(request: Partial): Promise>; /** * Поиск популярных брендов */ getPopularBrands(request?: Partial): Promise>; /** * Использование функции поиска */ useSearchFunction(functionName: string): Promise>; /** * Поисковый запрос клиента */ trackQueryUse(query: string): Promise>; /** * Применение поисковой подсказки */ trackHintUse(query: string, hint: string): Promise>; /** * Конверсии с товарами */ trackProductConversion(request: Partial): Promise>; /** * Поиск популярных категорий */ getPopularCategories(request?: Partial): Promise>; /** * Конверсии с категориями */ trackCategoryConversion(request: Partial): Promise>; /** * Получение текущего A/B теста для клиента */ getCurrentAbTest(): Promise>; /** * Проверить доступность API */ healthCheck(): Promise; /** * Получить информацию о конфигурации (без чувствительных данных) */ getConfigInfo(): { baseUrl: string; customerId: string; locationId: string; apiVersion: string | undefined; }; /** * Создать новый экземпляр сервиса с обновленной конфигурацией */ withConfig(updates: Partial): SearchApiService; } //# sourceMappingURL=api.d.ts.map