import type Medusa from "@medusajs/js-sdk";
import type { HttpTypes } from "@medusajs/types";
import type { CartService } from "./types";
export type MedusaCartServiceConfig = {
    cartFields?: string;
    isNotFoundError?: (error: unknown) => boolean;
};
export type MedusaCartCreateParams = HttpTypes.StoreCreateCart;
export type MedusaCartUpdateParams = HttpTypes.StoreUpdateCart;
export type MedusaCartAddItemParams = HttpTypes.StoreAddCartLineItem;
export type MedusaCartUpdateItemParams = HttpTypes.StoreUpdateCartLineItem;
export type MedusaCompleteCartResult = {
    type: "order";
    order: HttpTypes.StoreOrder;
} | {
    type: "cart";
    cart: HttpTypes.StoreCart;
    error: {
        message: string;
        name: string;
        type: string;
    };
};
/**
 * Creates a CartService for Medusa SDK
 *
 * @example
 * ```typescript
 * import { createCartHooks } from "@techsio/storefront-data/cart/hooks"
 * import { createMedusaCartService } from "@techsio/storefront-data/cart/medusa-service"
 * import { createLocalStorageValueStore } from "@techsio/storefront-data/shared/storage-value-store"
 * import { sdk } from "@/lib/medusa-client"
 *
 * const cartHooks = createCartHooks({
 *   service: createMedusaCartService(sdk),
 *   queryKeys: cartQueryKeys,
 *   cartStorage: createLocalStorageValueStore({ key: "cart_id" }),
 * })
 * ```
 */
export declare function createMedusaCartService(sdk: Medusa, config?: MedusaCartServiceConfig): CartService<HttpTypes.StoreCart, MedusaCartCreateParams, MedusaCartUpdateParams, MedusaCartAddItemParams, MedusaCartUpdateItemParams, MedusaCompleteCartResult>;
//# sourceMappingURL=medusa-service.d.ts.map