/** * Utility functions to be used for Commerce Server Side Rendering. */ import type { CommerceEngineOptions as OriginalCommerceEngineOptions } from '../../../app/commerce-engine/commerce-engine.js'; import type { Controller } from '../../../controllers/controller/headless-controller.js'; import { type CommerceEngineDefinitionOptions } from '../factories/build-factory.js'; import { SolutionType } from '../types/controller-constants.js'; import type { ControllerDefinitionsMap } from '../types/controller-definitions.js'; import type { EngineDefinition } from '../types/engine.js'; /** * @deprecated use `SSRCommerceEngineOptions` type instead. */ export type CommerceEngineOptions = OriginalCommerceEngineOptions; export interface CommerceEngineDefinition, TSolutionType extends SolutionType> extends EngineDefinition { } /** * Initializes a Commerce engine definition in SSR with given controllers definitions and commerce engine config. * @param options - The commerce engine definition * @returns Three utility functions to fetch the initial state of the engine in SSR, hydrate the state in CSR, * and a build function that can be used for edge cases requiring more control. * * @group Engine */ export declare function defineCommerceEngine>(options: CommerceEngineDefinitionOptions): { listingEngineDefinition: CommerceEngineDefinition; searchEngineDefinition: CommerceEngineDefinition; standaloneEngineDefinition: CommerceEngineDefinition; recommendationEngineDefinition: CommerceEngineDefinition; };