import * as marketplace from '../public/marketplace';
/**
 * @hidden
 * deserialize the cart data:
 * - convert url properties from string to URL
 * @param cartItems The cart items
 *
 * @internal
 * Limited to Microsoft-internal use
 */
export declare function deserializeCart(cartData: any): marketplace.Cart;
/**
 * @hidden
 * deserialize the cart items:
 * - convert url properties from string to URL
 * @param cartItems The cart items
 *
 * @internal
 * Limited to Microsoft-internal use
 */
export declare function deserializeCartItems(cartItemsData: any): marketplace.CartItem;
/**
 * @hidden
 * serialize the cart items:
 * - make URL properties to string
 * @param cartItems The cart items
 *
 * @internal
 * Limited to Microsoft-internal use
 */
export declare const serializeCartItems: (cartItems: marketplace.CartItem[]) => any;
/**
 * @hidden
 * Validate the cart item properties are valid
 * @param cartItems The cart items
 *
 * @internal
 * Limited to Microsoft-internal use
 */
export declare function validateCartItems(cartItems: marketplace.CartItem[]): void;
/**
 * @hidden
 * Validate accessories
 * @param accessoryItems The accessories to be validated
 *
 * @internal
 * Limited to Microsoft-internal use
 */
export declare function validateAccessoryItems(accessoryItems: marketplace.Item[] | undefined | null): void;
/**
 * @hidden
 * Validate the basic cart item properties are valid
 * @param basicCartItem The basic cart item
 *
 * @internal
 * Limited to Microsoft-internal use
 */
export declare function validateBasicCartItem(basicCartItem: marketplace.Item): void;
/**
 * @hidden
 * Validate the id is valid
 * @param id A uuid string
 *
 * @internal
 * Limited to Microsoft-internal use
 */
export declare function validateUuid(id: string | undefined | null): void;
/**
 * @hidden
 * Validate the cart item properties are valid
 * @param price The price to be validated
 *
 * @internal
 * Limited to Microsoft-internal use
 */
export declare function validatePrice(price: number): void;
/**
 * @hidden
 * Validate quantity
 * @param quantity The quantity to be validated
 *
 * @internal
 * Limited to Microsoft-internal use
 */
export declare function validateQuantity(quantity: number): void;
/**
 * @hidden
 * Validate cart status
 * @param cartStatus The cartStatus to be validated
 *
 * @internal
 * Limited to Microsoft-internal use
 */
export declare function validateCartStatus(cartStatus: marketplace.CartStatus): void;
