import type { ActionSpecifierOf } from '../../../libs/cargo-hold'; import type { HasInstance, HasInstanceId } from '../../../libs/util-domain-state'; import type { FetchProductResultsInput, SearchDataSource } from '../interfaces'; import type { RefinementsInput } from '../models'; import type { HasComponentId, HasSearchTerm } from './search.types'; export declare type SearchComponentActionCreators = ReturnType; export declare type SearchComponentActionSpecifiers = { [K in keyof SearchComponentActionCreators]: ActionSpecifierOf; }; export declare type BaseComponentActionPayload = HasComponentId & HasInstance & HasInstanceId; export declare type FetchComponentActionPayload = BaseComponentActionPayload & HasSearchTerm; export declare type LoadMoreProductResultsActionPayload = BaseComponentActionPayload & { input: FetchProductResultsInput; }; export declare type FetchProductResultsActionPayload = BaseComponentActionPayload & { searchTerm: string; input?: FetchProductResultsInput; }; export declare const createSearchComponentActionCreators: (options: HasComponentId & HasInstance & HasInstanceId) => { fetchBrandSuggestions: import("../../../libs/cargo-hold").ActionCreator<"search:component:fetchBrandSuggestions", string | undefined, HasSearchTerm & HasComponentId & HasInstance & HasInstanceId, [searchTerm: string]>; fetchCategorySuggestions: import("../../../libs/cargo-hold").ActionCreator<"search:component:fetchCategorySuggestions", string | undefined, HasSearchTerm & HasComponentId & HasInstance & HasInstanceId, [searchTerm: string]>; fetchProductSuggestions: import("../../../libs/cargo-hold").ActionCreator<"search:component:fetchProductSuggestions", string | undefined, HasSearchTerm & HasComponentId & HasInstance & HasInstanceId, [searchTerm: string]>; fetchQuerySuggestions: import("../../../libs/cargo-hold").ActionCreator<"search:component:fetchQuerySuggestions", string | undefined, HasSearchTerm & HasComponentId & HasInstance & HasInstanceId, [searchTerm: string]>; fetchProductResults: import("../../../libs/cargo-hold").ActionCreator<"search:component:fetchProductResults", string | undefined, HasComponentId & HasInstance & HasInstanceId & { searchTerm: string; input?: FetchProductResultsInput | undefined; }, [searchTerm: string, input?: FetchProductResultsInput | undefined]>; loadMoreProductResults: import("../../../libs/cargo-hold").ActionCreator<"search:component:loadMoreProductResults", string | undefined, HasComponentId & HasInstance & HasInstanceId & { input: FetchProductResultsInput; }, [input: FetchProductResultsInput]>; resetSuggestions: import("../../../libs/cargo-hold").ActionCreator<"search:component:resetSuggestions", string | undefined, { componentId: string; instance: SearchDataSource; instanceId: string; }, []>; resetResults: import("../../../libs/cargo-hold").ActionCreator<"search:component:resetResults", string | undefined, { componentId: string; instance: SearchDataSource; instanceId: string; }, []>; toggleRefinement: import("../../../libs/cargo-hold").ActionCreator<"search:component:toggleRefinement", string | undefined, HasComponentId & HasInstance & HasInstanceId & { willFetchSearchIndex?: boolean | undefined; } & { input: RefinementsInput; } & { isSelected: boolean; }, [input: RefinementsInput, isSelected: boolean, willFetchSearchIndex?: boolean | undefined]>; selectSortOption: import("../../../libs/cargo-hold").ActionCreator<"search:component:selectSortOption", string | undefined, HasComponentId & HasInstance & HasInstanceId & { willFetchSearchIndex?: boolean | undefined; } & { selectedSort: string; }, [selectedSort: string, willFetchSearchIndex?: boolean | undefined]>; }; export declare const createInternalSearchComponentActionCreators: (options: HasComponentId & HasInstanceId) => { setSearchTerm: import("../../../libs/cargo-hold").ActionCreator<"search:component:setSearchTerm", string | undefined, { componentId: string; instanceId: string; searchTerm: string | undefined; }, [searchTerm: string | undefined]>; setSelectedRefinements: import("../../../libs/cargo-hold").ActionCreator<"search:component:setSelectedRefinements", string | undefined, HasComponentId & HasInstanceId & { willFetchSearchIndex?: boolean | undefined; }, [willFetchSearchIndex?: boolean | undefined]>; setSelectedSort: import("../../../libs/cargo-hold").ActionCreator<"search:component:setSelectedSort", string | undefined, HasComponentId & HasInstanceId & { willFetchSearchIndex?: boolean | undefined; }, [willFetchSearchIndex?: boolean | undefined]>; }; export declare const createSearchComponentActionSpecifiers: (options: HasComponentId & HasInstanceId) => SearchComponentActionSpecifiers;