import type { PlanRequest } from '../../api/search/plan/plan-request.js';
import type { NavigatorContext } from '../../app/navigator-context-provider.js';
import type { ConfigurationSection, ContextSection, PipelineSection, QuerySection, SearchHubSection } from '../../state/state-sections.js';
import type { OmniboxSuggestionMetadata } from '../query-suggest/query-suggest-analytics-actions.js';
export interface RegisterStandaloneSearchBoxActionCreatorPayload {
    /**
     * The standalone search box id.
     */
    id: string;
    /**
     * The default URL to which to redirect the user.
     */
    redirectionUrl: string;
    /**
     * Whether to overwrite the existing standalone search box with the same id.
     */
    overwrite?: boolean;
}
interface UpdateStandaloneSearchBoxPayload {
    /**
     * The standalone search box id.
     */
    id: string;
    /**
     * The default URL to which to redirect the user.
     */
    redirectionUrl: string;
}
export declare const registerStandaloneSearchBox: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[payload: RegisterStandaloneSearchBoxActionCreatorPayload], RegisterStandaloneSearchBoxActionCreatorPayload, "standaloneSearchBox/register", never, never>;
export declare const updateStandaloneSearchBoxRedirectionUrl: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[payload: UpdateStandaloneSearchBoxPayload], UpdateStandaloneSearchBoxPayload, "standaloneSearchBox/updateRedirectionUrl", never, never>;
export interface ResetStandaloneSearchBoxActionCreatorPayload {
    /**
     * The standalone search box id.
     */
    id: string;
}
export declare const resetStandaloneSearchBox: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[payload: ResetStandaloneSearchBoxActionCreatorPayload], ResetStandaloneSearchBoxActionCreatorPayload, "standaloneSearchBox/reset", never, never>;
export interface UpdateAnalyticsToSearchFromLinkActionCreatorPayload {
    /**
     * The standalone search box id.
     */
    id: string;
}
export declare const updateAnalyticsToSearchFromLink: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[payload: UpdateAnalyticsToSearchFromLinkActionCreatorPayload], UpdateAnalyticsToSearchFromLinkActionCreatorPayload, "standaloneSearchBox/updateAnalyticsToSearchFromLink", never, never>;
export interface UpdateAnalyticsToOmniboxFromLinkActionCreatorPayload {
    /**
     * The standalone search box id.
     */
    id: string;
    /**
     * The metadata of the suggestion selected from the standalone search box.
     */
    metadata: OmniboxSuggestionMetadata;
}
export declare const updateAnalyticsToOmniboxFromLink: import("@reduxjs/toolkit").ActionCreatorWithPayload<UpdateAnalyticsToOmniboxFromLinkActionCreatorPayload, string>;
export type StateNeededForRedirect = ConfigurationSection & QuerySection & Partial<ContextSection & SearchHubSection & PipelineSection>;
export interface FetchRedirectUrlActionCreatorPayload {
    /**
     * The standalone search box id.
     */
    id: string;
}
export declare const fetchRedirectUrl: import("@reduxjs/toolkit").AsyncThunk<string, FetchRedirectUrlActionCreatorPayload, {
    rejectValue: import("../../api/search/search-api-error-response.js").SearchAPIErrorWithStatusCode;
    state: StateNeededForRedirect;
    extra: import("../../app/thunk-extra-arguments.js").ClientThunkExtraArguments<import("../../api/search/search-api-client.js").SearchAPIClient, import("../../api/generated-answer/generated-answer-client.js").GeneratedAnswerAPIClient>;
    dispatch?: import("redux-thunk").ThunkDispatch<unknown, unknown, import("redux").UnknownAction> | undefined;
    serializedErrorType?: unknown;
    pendingMeta?: unknown;
    fulfilledMeta?: unknown;
    rejectedMeta?: unknown;
}>;
export declare const buildPlanRequest: (state: StateNeededForRedirect, navigatorContext: NavigatorContext) => Promise<PlanRequest>;
export {};
