import type { FacetSearchRequestOptions } from '../../../api/search/facet-search/base/base-facet-search-request.js'; import type { FacetSearchResponse } from '../../../api/search/facet-search/facet-search-response.js'; import type { FacetSearchOptions } from './facet-search-request-options.js'; export type FacetSearchState = { /** * The options used to perform a facet search request. */ options: FacetSearchRequestOptions; /** * `true` if the facet search request is currently being executed against the Coveo platform, `false` otherwise. */ isLoading: boolean; /** * The facet search response. */ response: T; /** The initial maximum number of values to fetch. */ initialNumberOfValues: number; /** * The unique identifier of the current request. */ requestId: string; }; export type FacetSearchSetState = Record>; export declare function handleFacetSearchRegistration(state: FacetSearchSetState, payload: FacetSearchOptions, buildEmptyResponse: () => T): void; export declare function handleFacetSearchUpdate(state: FacetSearchSetState, payload: FacetSearchOptions): void; export declare function handleFacetSearchPending(state: FacetSearchSetState, facetId: string, requestId: string): void; export declare function handleFacetSearchRejected(state: FacetSearchSetState, facetId: string): void; export declare function handleFacetSearchFulfilled(state: FacetSearchSetState, payload: { facetId: string; response: T; }, requestId: string): void; export declare function handleFacetSearchClear(state: FacetSearchSetState, payload: FacetSearchOptions, buildEmptyResponse: () => T): void; export declare function handleFacetSearchSetClear(state: FacetSearchSetState, buildEmptyResponse: () => T): void; export declare const defaultFacetSearchOptions: FacetSearchRequestOptions;