import type { UnknownAction } from '@reduxjs/toolkit';
import { SolutionType } from '../types/controller-constants.js';
import type { AugmentedControllerDefinition } from '../types/controller-definitions.js';
import type { CommerceControllerDefinitionsMap, CommerceEngineDefinitionOptions, FetchStaticStateParameters } from '../types/engine.js';
export declare function fetchRecommendationStaticStateFactory<TControllerDefinitions extends CommerceControllerDefinitionsMap>(controllerDefinitions: AugmentedControllerDefinition<TControllerDefinitions>, options: CommerceEngineDefinitionOptions<TControllerDefinitions>): (params: FetchStaticStateParameters<TControllerDefinitions, SolutionType.recommendation>) => Promise<import("../types/build.js").CommonBuildConfig & {
    productId?: string;
    recommendations: Extract<keyof TControllerDefinitions, { [K in keyof TControllerDefinitions]: import("../../common/types/utilities.js").HasKey<TControllerDefinitions[K], SolutionType.recommendation> extends never ? never : import("../../common/types/utilities.js").HasKey<TControllerDefinitions[K], typeof import("../types/controller-constants.js").recommendationInternalOptionKey> extends never ? never : K; }[keyof TControllerDefinitions]>[];
} & { [K_1 in keyof TControllerDefinitions as import("../../common/types/utilities.js").HasKey<TControllerDefinitions[K_1], SolutionType.recommendation> extends never ? never : import("../../common/types/utilities.js").HasKey<TControllerDefinitions[K_1], typeof import("../types/controller-constants.js").recommendationInternalOptionKey> extends never ? import("../../common/types/utilities.js").HasRequiredKeys<import("../types/controller-inference.js").InferControllerPropsMapFromDefinitions<TControllerDefinitions> extends infer T extends import("../../common/types/controllers.js").ControllersPropsMap ? { [I in keyof T as I extends K_1 ? I : never]: T[I]; } : never> extends false ? never : "controllers" : never]: import("../types/controller-inference.js").InferControllerPropsMapFromDefinitions<TControllerDefinitions> extends infer T_1 extends import("../../common/types/controllers.js").ControllersPropsMap ? { [I in keyof T_1 as I extends K_1 ? I : never]: T_1[I]; } : never; } & {
    controllers: import("../types/controller-inference.js").InferControllerStaticStateMapFromDefinitionsWithSolutionType<TControllerDefinitions, SolutionType.recommendation> & import("../types/controller-definitions.js").FilteredBakedInControllers<SolutionType.recommendation>;
    searchActions: UnknownAction[];
}>;
