import type { PayloadAction } from '@reduxjs/toolkit'; import type { CommerceEngine } from '../../../app/commerce-engine/commerce-engine.js'; import { type NextPagePayload, type PreviousPagePayload, type RegisterRecommendationsSlotPaginationPayload, type SelectPagePayload, type SetPageSizePayload } from './pagination-actions.js'; export type { NextPagePayload, PreviousPagePayload, RegisterRecommendationsSlotPaginationPayload, SelectPagePayload, SetPageSizePayload, }; /** * The pagination action creators. * * @group Actions * @category Pagination */ export interface PaginationActionCreators { /** * Registers pagination for a recommendations slot. * * @param payload - The action creator payload. * @returns A dispatchable action. */ registerRecommendationsSlotPagination(payload: RegisterRecommendationsSlotPaginationPayload): PayloadAction; /** * Sets the page size. * * @param payload - The action creator payload. * @returns A dispatchable action. */ setPageSize(payload: SetPageSizePayload): PayloadAction; /** * Selects a page. * * @param payload - The action creator payload. * @returns A dispatchable action. */ selectPage(payload: SelectPagePayload): PayloadAction; /** * Selects the next page. * * @param payload - The action creator payload. * @returns A dispatchable action. */ nextPage(payload?: NextPagePayload): PayloadAction; /** * Selects the previous page. * * @param payload - The action creator payload. * @returns A dispatchable action. */ previousPage(payload?: PreviousPagePayload): PayloadAction; } /** * Loads the commerce pagination reducer and returns the available pagination action creators. * * @param engine - The commerce engine. * @returns An object holding the pagination action creators. * * @group Actions * @category Pagination */ export declare function loadPaginationActions(engine: CommerceEngine): PaginationActionCreators;