import type { AsyncThunkAction, PayloadAction } from '@reduxjs/toolkit'; import type { AsyncThunkSearchOptions } from '../../api/search/search-api-client.js'; import type { SearchEngine } from '../../app/search-engine/search-engine.js'; import { type FetchRedirectUrlActionCreatorPayload, type RegisterStandaloneSearchBoxActionCreatorPayload, type ResetStandaloneSearchBoxActionCreatorPayload, type StateNeededForRedirect, type UpdateAnalyticsToOmniboxFromLinkActionCreatorPayload, type UpdateAnalyticsToSearchFromLinkActionCreatorPayload } from './standalone-search-box-set-actions.js'; export type { FetchRedirectUrlActionCreatorPayload, RegisterStandaloneSearchBoxActionCreatorPayload, ResetStandaloneSearchBoxActionCreatorPayload, UpdateAnalyticsToOmniboxFromLinkActionCreatorPayload, UpdateAnalyticsToSearchFromLinkActionCreatorPayload, }; /** * The standalone search box set action creators. * * @group Actions * @category StandaloneSearchBoxSet */ export interface StandaloneSearchBoxSetActionCreators { /** * Registers a standalone search box. * * @param payload - The action creator payload. * @returns A dispatchable action. */ registerStandaloneSearchBox(payload: RegisterStandaloneSearchBoxActionCreatorPayload): PayloadAction; /** * Resets the standalone search box state. To be dispatched on single page applications after the redirection has been triggered. * * @param payload - The action creator payload. * @returns A dispatchable action. */ resetStandaloneSearchBox(payload: ResetStandaloneSearchBoxActionCreatorPayload): PayloadAction; /** * Preprocesses the query for the current headless state, and retrieves a redirection URL if a redirect trigger was fired in the query pipeline. * * @param payload - The action creator payload. * @returns A dispatchable action. */ fetchRedirectUrl(payload: FetchRedirectUrlActionCreatorPayload): AsyncThunkAction>; /** * Updates the redirection URL of the standalone search box. * @param payload - The action creator payload. * @returns A dispatchable action. */ updateStandaloneSearchBoxRedirectionUrl(payload: RegisterStandaloneSearchBoxActionCreatorPayload): PayloadAction; /** * Updates the standalone search box analytics data to reflect a search submitted using the search box. * * @param payload - The action creator payload. * @returns A dispatchable action. */ updateAnalyticsToSearchFromLink(payload: UpdateAnalyticsToSearchFromLinkActionCreatorPayload): PayloadAction; /** * Updates the standalone search box analytics data to reflect a search submitted by selecting a query suggestion. * * @param payload - The action creator payload. * @returns A dispatchable action. */ updateAnalyticsToOmniboxFromLink(payload: UpdateAnalyticsToOmniboxFromLinkActionCreatorPayload): PayloadAction; } /** * Loads the `standaloneSearchBoxSet` reducer and returns possible action creators. * * @param engine - The headless engine. * @returns An object holding the action creators. * * @group Actions * @category StandaloneSearchBoxSet */ export declare function loadStandaloneSearchBoxSetActions(engine: SearchEngine): StandaloneSearchBoxSetActionCreators;