import type { UnknownAction } from '@reduxjs/toolkit';
import type { Controller } from '../../controllers/controller/headless-controller.js';
import type { SSRCommerceEngine } from './factories/build-factory.js';
import type { SolutionType } from './types/controller-constants.js';
import type { ControllerDefinitionOption, ControllerDefinitionsMap } from './types/controller-definitions.js';
import type { InferControllerPropsMapFromDefinitions, InferControllerStaticStateMapFromDefinitionsWithSolutionType, InferControllersMapFromDefinition } from './types/controller-inference.js';
import type { EngineStaticState } from './types/engine.js';
export declare function createStaticState<TSearchAction extends UnknownAction, TControllerDefinitions extends ControllerDefinitionsMap<Controller>>({ searchActions, controllers, }: {
    searchActions: TSearchAction[];
    controllers: InferControllersMapFromDefinition<TControllerDefinitions, SolutionType>;
}): EngineStaticState<TSearchAction, InferControllerStaticStateMapFromDefinitionsWithSolutionType<TControllerDefinitions, SolutionType>>;
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;
