import { ICartItem as IBaseCartItem, IPurchase, IStoreItem } from '@rpg-engine/shared';
interface ICartItem extends IBaseCartItem {
    metadata?: Record<string, any>;
}
interface IUseStoreCart {
    cartItems: ICartItem[];
    isCartOpen: boolean;
    handleAddToCart: (item: IStoreItem, quantity: number, metadata?: Record<string, any>) => void;
    handleRemoveFromCart: (itemKey: string) => void;
    handlePurchase: (onPurchase: (purchase: IPurchase) => void) => void;
    openCart: () => void;
    closeCart: () => void;
    getTotalItems: () => number;
    getTotalPrice: () => number;
    isCollectingMetadata: boolean;
}
export declare const useStoreCart: () => IUseStoreCart;
export {};
