import type { ChildProduct } from '../../../api/commerce/common/product.js';
import type { CommerceSuccessResponse } from '../../../api/commerce/common/response.js';
import type { ProductListingSection } from '../../../state/state-sections.js';
import { type StateNeededForFilterableCommerceAPIRequest } from '../common/filterable-commerce-api-request-builder.js';
export interface QueryCommerceAPIThunkReturn {
    /** The successful response. */
    response: CommerceSuccessResponse;
}
export type StateNeededByFetchProductListing = StateNeededForFilterableCommerceAPIRequest & ProductListingSection;
export declare const fetchProductListing: import("@reduxjs/toolkit").AsyncThunk<QueryCommerceAPIThunkReturn, void, {
    state: StateNeededByFetchProductListing;
    rejectValue: import("../../../api/commerce/commerce-api-error-response.js").CommerceAPIErrorStatusResponse;
    extra: import("../../../app/commerce-thunk-extra-arguments.js").CommerceThunkExtraArguments;
    dispatch?: import("redux-thunk").ThunkDispatch<unknown, unknown, import("redux").UnknownAction> | undefined;
    serializedErrorType?: unknown;
    pendingMeta?: unknown;
    fulfilledMeta?: unknown;
    rejectedMeta?: unknown;
}>;
export declare const fetchMoreProducts: import("@reduxjs/toolkit").AsyncThunk<QueryCommerceAPIThunkReturn | null, void, {
    state: StateNeededByFetchProductListing;
    rejectValue: import("../../../api/commerce/commerce-api-error-response.js").CommerceAPIErrorStatusResponse;
    extra: import("../../../app/commerce-thunk-extra-arguments.js").CommerceThunkExtraArguments;
    dispatch?: import("redux-thunk").ThunkDispatch<unknown, unknown, import("redux").UnknownAction> | undefined;
    serializedErrorType?: unknown;
    pendingMeta?: unknown;
    fulfilledMeta?: unknown;
    rejectedMeta?: unknown;
}>;
export interface PromoteChildToParentPayload {
    child: ChildProduct;
}
export declare const promoteChildToParent: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[payload: PromoteChildToParentPayload], PromoteChildToParentPayload, "commerce/productListing/promoteChildToParent", never, never>;
