import type { ParameterManager, ParameterManagerProps, ParameterManagerState } from '../../../../controllers/commerce/core/parameter-manager/headless-core-parameter-manager.js'; import type { Parameters } from '../../../../features/commerce/parameters/parameters-actions.js'; import type { ProductListingParameters } from '../../../../features/commerce/product-listing-parameters/product-listing-parameters-actions.js'; import type { CommerceSearchParameters } from '../../../../features/commerce/search-parameters/search-parameters-actions.js'; import type { ControllerDefinitionOption, SubControllerDefinitionWithProps } from '../../types/controller-definitions.js'; export type { CommerceSearchParameters, ParameterManager, ParameterManagerProps, ParameterManagerState, Parameters, ProductListingParameters, }; /** * @deprecated In the future, the parameterManager controller will be included by default in the engine definition. You will no longer need to define it manually * Defines a `ParameterManager` controller instance. * @group Definers * * @returns The `ParameterManager` controller definition. */ export declare function defineParameterManager(options?: TOptions): SubControllerDefinitionWithProps>, TOptions, SSRParameterManagerProps>>; export interface SSRParameterManagerProps extends Omit, 'excludeDefaultParameters'> { } type MappedParameterTypes = TOptions extends { listing: true; search: true; } | undefined ? ProductListingParameters | CommerceSearchParameters : TOptions extends { listing: true; search: false; } ? ProductListingParameters : TOptions extends { listing: false; search: true; } ? CommerceSearchParameters : never;