import { type HtmlApiClient } from '../../api/search/html/html-api-client.js';
import type { HtmlRequest, HtmlRequestOptions } from '../../api/search/html/html-request.js';
import type { Result } from '../../api/search/search/result.js';
import type { SearchAPIErrorWithStatusCode } from '../../api/search/search-api-error-response.js';
import type { AsyncThunkOptions } from '../../app/async-thunk-options.js';
import type { ClientThunkExtraArguments } from '../../app/thunk-extra-arguments.js';
import { type StateNeededByHtmlEndpoint } from './result-preview-request-builder.js';
export interface FetchResultContentThunkReturn {
    content: string;
    uniqueId: string;
}
export interface UpdateContentURLThunkReturn {
    /**
     * The path to retrieve result quickview content.
     */
    contentURL?: string;
}
export interface PreparePreviewPaginationActionPayload {
    results: Pick<Result, 'hasHtmlVersion' | 'uniqueId'>[];
}
export interface AsyncThunkGlobalOptions<T> extends AsyncThunkOptions<T, ClientThunkExtraArguments<HtmlApiClient>> {
    rejectValue: SearchAPIErrorWithStatusCode;
}
export declare const fetchResultContent: import("@reduxjs/toolkit").AsyncThunk<FetchResultContentThunkReturn, HtmlRequestOptions, {
    rejectValue: SearchAPIErrorWithStatusCode;
    state: StateNeededByHtmlEndpoint;
    extra: ClientThunkExtraArguments<HtmlApiClient, 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 nextPreview: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"resultPreview/next">;
export declare const previousPreview: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"resultPreview/previous">;
export declare const preparePreviewPagination: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[payload: PreparePreviewPaginationActionPayload], PreparePreviewPaginationActionPayload, "resultPreview/prepare", never, never>;
export type UpdateContentURLOptions = HtmlRequestOptions & {
    path: string;
    buildResultPreviewRequest: (state: StateNeededByHtmlEndpoint, options: HtmlRequestOptions) => Promise<HtmlRequest>;
};
export declare const updateContentURL: import("@reduxjs/toolkit").AsyncThunk<UpdateContentURLThunkReturn, UpdateContentURLOptions, {
    rejectValue: SearchAPIErrorWithStatusCode;
    state: StateNeededByHtmlEndpoint;
    extra: ClientThunkExtraArguments<HtmlApiClient, 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;
}>;
