import type { CartStore } from "../client/cartStore"; import type { PublishedStorefront, StorefrontCartLineInput, StorefrontCartQuote } from "../core/storefront"; /** Live cart items for a store — re-renders on add/clear and cross-tab changes. */ export declare const useCart: (store: CartStore) => T[]; /** * Live derived value over the cart (e.g. item count, subtotal). `select` runs * on the current items each render. */ export declare const useCartValue: (store: CartStore, select: (items: T[]) => V) => V; type Listing = PublishedStorefront["listings"][number]; export type StorefrontListingCardProps = { currency: string; entry: Listing; locale: string; onAdd: (line: StorefrontCartLineInput) => void; }; export declare const StorefrontListingCard: ({ currency, entry, locale, onAdd, }: StorefrontListingCardProps) => import("react").JSX.Element; export type StorefrontRendererProps = { cart: StorefrontCartLineInput[]; checkoutDisabledReason?: string; checkoutPending?: boolean; onAdd: (line: StorefrontCartLineInput) => void; onCheckout: () => void; onRemove: (key: string) => void; quote?: StorefrontCartQuote | null; storefront: PublishedStorefront; }; export declare const StorefrontRenderer: ({ cart, checkoutDisabledReason, checkoutPending, onAdd, onCheckout, onRemove, quote, storefront, }: StorefrontRendererProps) => import("react").JSX.Element; export {};