import Actions from '../../actions'; import Store from '../../store'; export declare type Action = Actions.UpdateAutocompleteQuery | Actions.ReceiveAutocompleteSuggestions | Actions.ReceiveAutocompleteProductRecords | Actions.ReceiveAutocompleteTemplate; export declare type State = Store.Autocomplete; export declare const DEFAULTS: State; export default function updateAutocomplete(state: State, action: Action): State; export declare const updateQuery: (state: Store.Autocomplete, query: string) => { query: string; suggestions: Store.Autocomplete.Suggestion[]; category: Store.Autocomplete.Category; showCategoryValuesForFirstMatch: boolean; navigations: Store.Autocomplete.Navigation[]; products: Store.ProductWithMetadata[]; template?: Store.Template; searchCharMinLimit?: number; }; export declare const receiveSuggestions: (state: Store.Autocomplete, { categoryValues, suggestions, navigations }: Actions.Payload.Autocomplete.Suggestions) => { category: { values: string[]; field?: string; }; navigations: Store.Autocomplete.Navigation[]; suggestions: Store.Autocomplete.Suggestion[]; query?: string; showCategoryValuesForFirstMatch: boolean; products: Store.ProductWithMetadata[]; template?: Store.Template; searchCharMinLimit?: number; }; export declare const receiveProductRecords: (state: Store.Autocomplete, products: Store.ProductWithMetadata[]) => { products: Store.ProductWithMetadata[]; query?: string; suggestions: Store.Autocomplete.Suggestion[]; category: Store.Autocomplete.Category; showCategoryValuesForFirstMatch: boolean; navigations: Store.Autocomplete.Navigation[]; template?: Store.Template; searchCharMinLimit?: number; }; export declare const receiveTemplate: (state: Store.Autocomplete, template: Store.Template) => { template: Store.Template; query?: string; suggestions: Store.Autocomplete.Suggestion[]; category: Store.Autocomplete.Category; showCategoryValuesForFirstMatch: boolean; navigations: Store.Autocomplete.Navigation[]; products: Store.ProductWithMetadata[]; searchCharMinLimit?: number; };