import { Cart, IAddLineItem, ICartAction, IChangeLineItemQuantity } from '@cxcloud/ct-types/carts';
import { Address } from '@cxcloud/ct-types/common';
export declare namespace Carts {
    function create(token: string): Promise<Cart>;
    function createFromOrder(orderId: string, token: string): Promise<Cart>;
    function findById(cartId: string, token: string): Promise<Cart>;
    function findActiveCart(token: string): Promise<Cart>;
    function updateByActions(cartId: string, cartVersion: number, actions: ICartAction | ICartAction[], token: string): Promise<Cart>;
    function addLineItems(cartId: string, cartVersion: number, lineItems: IAddLineItem | IAddLineItem[], token: string): Promise<Cart>;
    function changeLineItemQuantity(cartId: string, cartVersion: number, action: IChangeLineItemQuantity, token: string): Promise<Cart>;
    function removeLineItem(cartId: string, cartVersion: number, lineItemId: string, token: string): Promise<Cart>;
    function setShippingAddress(cartId: string, cartVersion: number, address: Address, token: string): Promise<Cart>;
    function setBillingAddress(cartId: string, cartVersion: number, address: Address, token: string): Promise<Cart>;
    function setShippingMethod(cartId: string, cartVersion: number, shippingMethodId: string, token: string): Promise<Cart>;
}
