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 fetchStaticStateFactory<TControllerDefinitions extends CommerceControllerDefinitionsMap>(controllerDefinitions: AugmentedControllerDefinition<TControllerDefinitions>, options: CommerceEngineDefinitionOptions<TControllerDefinitions>): <TSolutionType extends SolutionType>(solutionType: TSolutionType) => (params: FetchStaticStateParameters<TControllerDefinitions, TSolutionType>) => Promise<Omit<{
    controllers?: Record<string, unknown>;
} & import("../types/build.js").BuildConfig<TControllerDefinitions, TSolutionType> & { [K in keyof TControllerDefinitions as import("../../common/types/utilities.js").HasKey<TControllerDefinitions[K], TSolutionType> extends never ? never : import("../../common/types/utilities.js").HasKey<TControllerDefinitions[K], 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 ? 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 ? I : never]: T_1[I]; } : never; }, "controllers"> & {
    controllerProps?: Record<string, unknown> | undefined;
    controllers: import("../types/controller-inference.js").InferControllerStaticStateMapFromDefinitionsWithSolutionType<TControllerDefinitions, TSolutionType> & import("../types/controller-definitions.js").FilteredBakedInControllers<TSolutionType>;
    searchActions: UnknownAction[];
}>;
