import { PluginSubscribeParams } from '@algolia/autocomplete-core'; import { AutocompleteSource, AutocompleteState, AutocompletePlugin } from '@algolia/autocomplete-js'; import { SearchOptions } from '@algolia/client-search'; import { RecentSearchesItem, Storage, StorageApi, AutocompleteRecentSearchesPluginTranslations } from './types'; export interface RecentSearchesPluginData extends StorageApi { /** * Optimized [Algolia search parameters](https://www.algolia.com/doc/api-reference/search-api-parameters/). This is useful when using the plugin along with the [Query Suggestions](createQuerySuggestionsPlugin) plugin. * * This function enhances the provided search parameters by: * - Excluding Query Suggestions that are already displayed in recent searches. * - Using a shared `hitsPerPage` value to get a group limit of Query Suggestions and recent searches. * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-recent-searches/createLocalStorageRecentSearchesPlugin/#param-getalgoliasearchparams */ getAlgoliaSearchParams(params?: SearchOptions): SearchOptions; } export declare type CreateRecentSearchesPluginParams = { /** * The storage to fetch from and save recent searches into. * * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-recent-searches/createRecentSearchesPlugin/#param-storage */ storage: Storage; /** * A function to transform the provided source. * * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-recent-searches/createRecentSearchesPlugin/#param-transformsource */ transformSource?(params: { source: AutocompleteSource; state: AutocompleteState; onRemove(id: string): void; onTapAhead(item: TItem): void; }): AutocompleteSource; subscribe?(params: PluginSubscribeParams): void; /** * A mapping of translation strings. * * Defaults to English values. */ translations?: Partial; }; export declare function createRecentSearchesPlugin(options: CreateRecentSearchesPluginParams): AutocompletePlugin>;