import type { UnknownAction } from '@reduxjs/toolkit';
import type { Controller } from '../../controllers/controller/headless-controller.js';
import type { ControllersMap, InferControllerStaticStateMapFromControllers } from '../ssr-engine/types/common.js';
import type { SSRCommerceEngine } from './factories/build-factory.js';
import type { ControllerDefinitionOption, ControllerDefinitionsMap, EngineStaticState, InferControllerPropsMapFromDefinitions, InferControllersMapFromDefinition, SolutionType } from './types/common.js';
export declare function createStaticState<TSearchAction extends UnknownAction>({ searchActions, controllers, }: {
    searchActions: TSearchAction[];
    controllers: ControllersMap;
}): EngineStaticState<TSearchAction, InferControllerStaticStateMapFromControllers<ControllersMap>>;
export declare function buildControllerDefinitions<TControllerDefinitionsMap extends ControllerDefinitionsMap<Controller>, TSolutionType extends SolutionType>({ definitionsMap, engine, solutionType, propsMap, }: {
    definitionsMap: TControllerDefinitionsMap;
    engine: SSRCommerceEngine;
    solutionType: TSolutionType;
    propsMap: InferControllerPropsMapFromDefinitions<TControllerDefinitionsMap>;
}): InferControllersMapFromDefinition<TControllerDefinitionsMap, TSolutionType>;
export declare function ensureAtLeastOneSolutionType(options?: ControllerDefinitionOption): void;
