import { ControllerDefinitionOption, SubControllerDefinitionWithoutProps } from '../../../app/commerce-ssr-engine/types/common.js';
import { ProductListing } from '../product-listing/headless-product-listing.js';
import { Search } from '../search/headless-search.js';
export type { ProductListing, ProductListingState as ProductListState, } from '../product-listing/headless-product-listing.js';
export type { Search } from '../search/headless-search.js';
export type ProductList = Pick<ProductListing | Search, 'state' | 'subscribe' | 'interactiveProduct' | 'promoteChildToParent'>;
/**
 * Defines a `ProductList` controller instance.
 * @group Definers
 *
 * @returns The `ProductList` controller definition.
 */
export declare function defineProductList<TOptions extends ControllerDefinitionOption | undefined>(options?: TOptions): SubControllerDefinitionWithoutProps<ProductList, TOptions>;
