import type { ActionSpecifierOf } from '../../../libs/cargo-hold'; import type { Address } from '../../../libs/util-domain-models'; import type { HasInstance, HasInstanceId } from '../../../libs/util-domain-state'; import type { AddCartItemInput, CartDataSource, FetchCartInput, RemoveCartItemInput, UpdateCartItemInput } from '../interfaces'; export declare type CartInstanceActionCreators = ReturnType; export declare type CartInstanceActionSpecifiers = { [K in keyof CartInstanceActionCreators]: ActionSpecifierOf; }; export declare const ACTION_KEYS: { readonly fetchCart: "cart:instance:fetchCart"; readonly addCartItem: "cart:instance:addCartItem"; readonly updateCartItem: "cart:instance:updateCartItem"; readonly removeCartItem: "cart:instance:removeCartItem"; readonly destroyCartData: "cart:instance:destroyCartData"; readonly addBillingAddress: "cart:instance:addBillingAddress"; readonly removeBillingAddress: "cart:instance:removeBillingAddress"; readonly updateBillingAddress: "cart:instance:updateBillingAddress"; readonly addShippingAddress: "cart:instance:addShippingAddress"; readonly removeShippingAddress: "cart:instance:removeShippingAddress"; readonly updateShippingAddress: "cart:instance:updateShippingAddress"; }; export declare const createCartInstanceActionCreators: (options: HasInstance & HasInstanceId) => { addCartItem: import("../../../libs/cargo-hold").ActionCreator<"cart:instance:addCartItem", string | undefined, [HasInstance & HasInstanceId & { input: AddCartItemInput; }], [input: AddCartItemInput]>; fetchCart: import("../../../libs/cargo-hold").ActionCreator<"cart:instance:fetchCart", string | undefined, [HasInstance & HasInstanceId & { input?: FetchCartInput | undefined; }], [input?: FetchCartInput | undefined]>; removeCartItem: import("../../../libs/cargo-hold").ActionCreator<"cart:instance:removeCartItem", string | undefined, [HasInstance & HasInstanceId & { input: RemoveCartItemInput; }], [input: RemoveCartItemInput]>; updateCartItem: import("../../../libs/cargo-hold").ActionCreator<"cart:instance:updateCartItem", string | undefined, [HasInstance & HasInstanceId & { input: UpdateCartItemInput; }], [input: UpdateCartItemInput]>; addBillingAddress: import("../../../libs/cargo-hold").ActionCreator<"cart:instance:addBillingAddress", string | undefined, [HasInstance & HasInstanceId & { input: Address; }], [input: Address]>; updateBillingAddress: import("../../../libs/cargo-hold").ActionCreator<"cart:instance:updateBillingAddress", string | undefined, [HasInstance & HasInstanceId & { input: Partial
; }], [input: Partial
]>; removeBillingAddress: import("../../../libs/cargo-hold").ActionCreator<"cart:instance:removeBillingAddress", string | undefined, [HasInstance & HasInstanceId & { input: string; }], [input: string]>; addShippingAddress: import("../../../libs/cargo-hold").ActionCreator<"cart:instance:addShippingAddress", string | undefined, [HasInstance & HasInstanceId & { input: Address; }], [input: Address]>; updateShippingAddress: import("../../../libs/cargo-hold").ActionCreator<"cart:instance:updateShippingAddress", string | undefined, [HasInstance & HasInstanceId & { input: Partial
; }], [input: Partial
]>; removeShippingAddress: import("../../../libs/cargo-hold").ActionCreator<"cart:instance:removeShippingAddress", string | undefined, [HasInstance & HasInstanceId & { input: string; }], [input: string]>; }; export declare const createCartInstanceActionSpecifiers: (options: HasInstanceId) => CartInstanceActionSpecifiers;