import type { UnknownAction } from '@reduxjs/toolkit';
import type { CoreEngine, CoreEngineNext } from '../../app/engine.js';
import type { Controller } from '../../controllers/controller/headless-controller.js';
import type { ControllerDefinitionsMap } from './types/controllers.js';
import type { EngineStaticState } from './types/engine.js';
import type { InferControllerPropsMapFromDefinitions, InferControllerStaticStateMapFromDefinitions, InferControllersMapFromDefinition } from './types/inference.js';
export declare function buildControllerDefinitions<TControllerDefinitionsMap extends ControllerDefinitionsMap<CoreEngine | CoreEngineNext, Controller>, TEngine extends CoreEngine | CoreEngineNext>({ definitionsMap, engine, propsMap, }: {
    definitionsMap: TControllerDefinitionsMap;
    engine: TEngine;
    propsMap?: InferControllerPropsMapFromDefinitions<TControllerDefinitionsMap>;
}): InferControllersMapFromDefinition<TControllerDefinitionsMap>;
export declare function createStaticState<TSearchAction extends UnknownAction, TControllerDefinitions extends ControllerDefinitionsMap<CoreEngine | CoreEngineNext, Controller>>({ searchAction, controllers, }: {
    searchAction: TSearchAction;
    controllers: InferControllersMapFromDefinition<TControllerDefinitions>;
}): EngineStaticState<TSearchAction, InferControllerStaticStateMapFromDefinitions<TControllerDefinitions>>;
