import React from "react"; import { RegionInfo, ProductVariant } from "../types"; interface Item { variant: ProductVariant; quantity: number; readonly total?: number; } export interface SessionCartState { region: RegionInfo; items: Item[]; totalItems: number; total: number; } interface SessionCartContextState extends SessionCartState { setRegion: (region: RegionInfo) => void; addItem: (item: Item) => void; removeItem: (id: string) => void; updateItem: (id: string, item: Partial) => void; setItems: (items: Item[]) => void; updateItemQuantity: (id: string, quantity: number) => void; incrementItemQuantity: (id: string) => void; decrementItemQuantity: (id: string) => void; getItem: (id: string) => Item | undefined; clearItems: () => void; } export declare const generateCartState: (state: SessionCartState, items: Item[]) => { items: { total: number; variant: ProductVariant; quantity: number; }[]; totalItems: number; total: number; region: RegionInfo; }; interface SessionCartProviderProps { children: React.ReactNode; initialState?: SessionCartState; } export declare const SessionCartProvider: ({ initialState, children, }: SessionCartProviderProps) => JSX.Element; export declare const useSessionCart: () => SessionCartContextState; export {};