import type { Context, Options } from '../../'; import type { SelectedFacet } from '../../utils/facets'; import type { Facet, FacetSearchResult, FacetValueBoolean } from './types/FacetSearchResult'; import type { ProductCountResult } from './types/ProductCountResult'; import type { ProductSearchResult, Suggestion } from './types/ProductSearchResult'; export type Sort = 'price:desc' | 'price:asc' | 'orders:desc' | 'name:desc' | 'name:asc' | 'release:desc' | 'discount:desc' | ''; export interface SearchArgs { query?: string; page: number; count: number; type: 'product_search' | 'facets' | 'sponsored_products'; sort?: Sort; selectedFacets?: SelectedFacet[]; fuzzy?: '0' | '1' | 'auto'; hideUnavailableItems?: boolean; showInvisibleItems?: boolean; showSponsored?: boolean; sponsoredCount?: number; allowRedirect?: boolean; } export interface ProductLocator { field: 'id' | 'slug'; value: string; } export declare const isFacetBoolean: (facet: Facet) => facet is Facet; export declare const IntelligentSearch: ({ account, environment, hideUnavailableItems, simulationBehavior, showSponsored, subDomainPrefix, }: Options, ctx: Context) => { facets: (args: Omit) => Promise; products: (args: Omit) => Promise; suggestedTerms: (args: Omit) => Promise; topSearches: () => Promise; productCount: (args: Pick) => Promise; }; //# sourceMappingURL=index.d.ts.map