import type { Logger } from 'pino'; import type { CommerceThunkExtraArguments } from '../../app/commerce-thunk-extra-arguments.js'; import type { CommerceAppState } from '../../state/commerce-app-state.js'; import type { PlatformEnvironment } from '../../utils/url-utils.js'; import type { PreprocessRequest } from '../preprocess-request.js'; import type { SpecificFacetSearchResponse } from '../search/facet-search/specific-facet-search/specific-facet-search-response.js'; import type { CommerceAPIErrorResponse, CommerceAPIErrorStatusResponse } from './commerce-api-error-response.js'; import type { CommerceFacetSearchRequest, FacetSearchType } from './facet-search/facet-search-request.js'; import type { CommerceListingRequest } from './listing/request.js'; import type { ListingCommerceSuccessResponse } from './listing/response.js'; import { type ProductEnrichmentBadgesRequest } from './product-enrichment/product-enrichment-request.js'; import type { ProductEnrichmentSuccessBadgesResponse } from './product-enrichment/product-enrichment-response.js'; import { type CommerceRecommendationsRequest } from './recommendations/recommendations-request.js'; import type { RecommendationsCommerceSuccessResponse } from './recommendations/recommendations-response.js'; import { type CommercePlanRequest } from './search/plan/plan-request.js'; import type { CommercePlanSuccessResponse } from './search/plan/plan-response.js'; import { type QuerySuggestRequest } from './search/query-suggest/query-suggest-request.js'; import type { QuerySuggestSuccessResponse } from './search/query-suggest/query-suggest-response.js'; import type { CommerceSearchRequest } from './search/request.js'; import type { SearchCommerceSuccessResponse } from './search/response.js'; export interface CommerceFacetSearchAPIClient { facetSearch(req: CommerceFacetSearchRequest, facetSearchOrigin: string): Promise>; } export interface AsyncThunkCommerceOptions> { state: T; rejectValue: CommerceAPIErrorStatusResponse; extra: CommerceThunkExtraArguments; } export interface CommerceAPIClientOptions { logger: Logger; preprocessRequest: PreprocessRequest; } export type CommerceAPIResponse = CommerceAPISuccessResponse | CommerceAPIErrorResponse; interface CommerceAPISuccessResponse { success: T; } export declare const isErrorResponse: (r: CommerceAPIResponse) => r is CommerceAPIErrorResponse; export declare class CommerceAPIClient implements CommerceFacetSearchAPIClient { private options; constructor(options: CommerceAPIClientOptions); getProductListing(req: CommerceListingRequest): Promise>; search(req: CommerceSearchRequest): Promise>; getRecommendations(req: CommerceRecommendationsRequest): Promise>; productSuggestions(req: CommerceSearchRequest): Promise>; querySuggest(req: QuerySuggestRequest): Promise>; facetSearch(req: CommerceFacetSearchRequest, type: FacetSearchType): Promise>; getBadges(req: ProductEnrichmentBadgesRequest): Promise>; plan(req: CommercePlanRequest): Promise>; private query; } export declare function getCommerceApiBaseUrl(organizationId: string, environment?: PlatformEnvironment): string; export {};