import type { PayloadAction } from '@reduxjs/toolkit'; import type { CommerceEngine } from '../../../app/commerce-engine/commerce-engine.js'; import { type ClearExpiredInstantProductsPayload, type CoreInstantProductPayload, type PromoteChildToParentPayload, type RegisterInstantProductPayload, type UpdateInstantProductQueryPayload } from './instant-products-actions.js'; export type { ClearExpiredInstantProductsPayload, CoreInstantProductPayload, PromoteChildToParentPayload, RegisterInstantProductPayload, UpdateInstantProductQueryPayload, }; /** * The instant products action creators. * * @group Actions * @category InstantProducts */ export interface InstantProductsActionCreators { /** * Clears expired instant products. * * @param payload - The action creator payload. * @returns A dispatchable action. */ clearExpiredProducts(payload: ClearExpiredInstantProductsPayload): PayloadAction; /** * Promotes a child product to a parent product. * * @param payload - The action creator payload. * @returns A dispatchable action. */ promoteChildToParent(payload: PromoteChildToParentPayload): PayloadAction; /** * Registers instant products. * * @param payload - The action creator payload. * @returns A dispatchable action. */ registerInstantProducts(payload: RegisterInstantProductPayload): PayloadAction; /** * Updates the query for instant products. * * @param payload - The action creator payload. * @returns A dispatchable action. */ updateInstantProductsQuery(payload: UpdateInstantProductQueryPayload): PayloadAction; } /** * Loads the commerce instant products reducer and returns the available instant products actions. * * @param engine - The commerce engine. * @returns An object holding the instant products action creators. * * @group Actions * @category InstantProducts */ export declare function loadInstantProductsActions(engine: CommerceEngine): InstantProductsActionCreators;