resolve.d.ts 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import type { ExecuteResponse, RequesterDescription, TransformResponse } from '@algolia/autocomplete-preset-algolia';
  2. import { MultipleQueriesQuery, SearchForFacetValuesResponse, SearchResponse } from '@algolia/client-search';
  3. import { BaseItem, InternalAutocompleteSource } from './types';
  4. declare type RequestDescriptionPreResolved<TItem extends BaseItem> = Pick<RequesterDescription<TItem>, 'execute' | 'searchClient' | 'transformResponse'> & {
  5. requests: Array<{
  6. query: MultipleQueriesQuery;
  7. sourceId: string;
  8. transformResponse: TransformResponse<TItem>;
  9. }>;
  10. };
  11. declare type RequestDescriptionPreResolvedCustom<TItem extends BaseItem> = {
  12. items: TItem[] | TItem[][];
  13. sourceId: string;
  14. transformResponse?: undefined;
  15. };
  16. export declare function preResolve<TItem extends BaseItem>(itemsOrDescription: TItem[] | TItem[][] | RequesterDescription<TItem>, sourceId: string): RequestDescriptionPreResolved<TItem> | RequestDescriptionPreResolvedCustom<TItem>;
  17. export declare function resolve<TItem extends BaseItem>(items: Array<RequestDescriptionPreResolved<TItem> | RequestDescriptionPreResolvedCustom<TItem>>): Promise<(RequestDescriptionPreResolvedCustom<TItem> | {
  18. items: SearchForFacetValuesResponse | SearchResponse<TItem>;
  19. sourceId: string;
  20. transformResponse: TransformResponse<TItem>;
  21. })[]>;
  22. export declare function postResolve<TItem extends BaseItem>(responses: Array<RequestDescriptionPreResolvedCustom<TItem> | ExecuteResponse<TItem>[0]>, sources: Array<InternalAutocompleteSource<TItem>>): {
  23. source: InternalAutocompleteSource<TItem>;
  24. items: {
  25. label: string;
  26. count: number;
  27. _highlightResult: {
  28. label: {
  29. value: string;
  30. };
  31. };
  32. }[][] | {
  33. label: string;
  34. count: number;
  35. _highlightResult: {
  36. label: {
  37. value: string;
  38. };
  39. };
  40. }[] | import("@algolia/client-search").Hit<TItem>[] | (SearchForFacetValuesResponse | SearchResponse<TItem> | TItem[] | TItem[][])[];
  41. }[];
  42. export {};