import type { MultipleQueriesQuery as AlgoliaMultipleQueriesQuery, multipleSearchForFacetValues } from '@algolia/client-search'; import type { InstantSearchOptions } from 'instantsearch.js/es/lib/InstantSearch.js'; import type { MultiSearchQuery, MultiSearchResult, Config as MeilisearchConfig, Meilisearch as MeilisearchClient } from 'meilisearch'; export type Mutable = { -readonly [TKey in keyof TVal]: TVal[TKey]; }; export type { AlgoliaMultipleQueriesQuery, MultiSearchResult }; export type { SearchResponse as AlgoliaSearchResponse, SearchForFacetValuesResponse as AlgoliaSearchForFacetValuesResponse, } from '@algolia/client-search'; export type AlgoliaSearchForFacetValuesRequests = Parameters>[0]; export type AlgoliaSearchForFacetValuesRequest = AlgoliaSearchForFacetValuesRequests[0]; export type { Filter, FacetDistribution, FacetStats as MeiliFacetStats, Config as MeilisearchConfig, } from 'meilisearch'; export type Meilisearch = MeilisearchClient; export type MeilisearchMultiSearchParams = MultiSearchQuery; /** @deprecated Use {@link Meilisearch} instead. */ export type MeiliSearch = MeilisearchClient; /** @deprecated Use {@link MeilisearchMultiSearchParams} instead. */ export type MeiliSearchMultiSearchParams = MeilisearchMultiSearchParams; export type ApiKeyCallback = () => string; export type InstantSearchParams = NonNullable; type BaseOverridableMeiliSearchSearchParameters = Pick; export type OverridableMeiliSearchSearchParameters = BaseOverridableMeiliSearchSearchParameters & { indexesOverrides?: Record; }; type BaseInstantMeiliSearchOptions = { placeholderSearch?: boolean; primaryKey?: string; keepZeroFacets?: boolean; clientAgents?: string[]; finitePagination?: boolean; meiliSearchParams?: OverridableMeiliSearchSearchParameters; }; export type InstantMeiliSearchOptions = Pick & BaseInstantMeiliSearchOptions; export type InstantMeiliSearchConfig = Required> & BaseInstantMeiliSearchOptions; export type SearchCacheInterface = { getEntry: (key: string) => T | undefined; formatKey: (components: any[]) => string; setEntry: (key: string, searchResponse: T) => void; clearCache: () => void; }; export type InsideBoundingBox = string | ReadonlyArray; export type PaginationState = { finite: boolean; hitsPerPage: number; page: number; }; export type InstantSearchPagination = { hitsPerPage: number; page: number; nbPages: number; }; export type MeilisearchSearchMetadata = { queryUid: string; indexUid: string; primaryKey?: string; remote?: string; }; export type MeilisearchMultiSearchResult> = MultiSearchResult & { pagination: PaginationState; metadata?: MeilisearchSearchMetadata; }; export type MeilisearchSearchResponse> = Omit, 'hits'> & { hits: Array; _meilisearch?: { metadata: MeilisearchSearchMetadata; }; }; export type SearchContext = InstantMeiliSearchOptions & InstantSearchParams & { pagination: PaginationState; indexUid: string; sort?: string | string[]; }; export type InstantSearchGeoParams = { aroundLatLng?: string; aroundLatLngViaIP?: boolean; aroundRadius?: number | 'all'; aroundPrecision?: number; minimumAroundRadius?: number; insideBoundingBox?: InsideBoundingBox; insidePolygon?: ReadonlyArray; }; export type InstantMeiliSearchInstance = InstantSearchOptions['searchClient'] & { clearCache: () => void; }; export type InstantMeiliSearchObject = { meiliSearchInstance: Meilisearch; setMeiliSearchParams: (params: OverridableMeiliSearchSearchParameters) => void; searchClient: InstantMeiliSearchInstance; }; export type MultiSearchResolver = { multiSearch: (searchQueries: MeilisearchMultiSearchParams[], instantSearchPagination: PaginationState[]) => Promise; }; export type AlgoliaFacetStats = Record; //# sourceMappingURL=types.d.ts.map