import type { ComputedRef, Ref } from 'vue'; export interface RecentlyViewedItem { sku: string; viewedAt: number; } export interface RecentlyViewedConfig { maxItems?: number; guestStorageKey?: string; customerStorageKey?: string; enableServerSync?: boolean; } export interface UseRecentlyViewedStorageReturn { addRecentlyViewed: (sku: string) => Promise; getRecentlyViewedSkus: (excludeSku?: string) => Promise; getSkusFromLocalStorage: (excludeSku?: string) => string[]; clearAllRecentlyViewed: () => void; mergeGuestToCustomer: () => Promise; isLoggedIn: ComputedRef; } export interface UseRecentlyViewedListOptions extends RecentlyViewedConfig { currentSku: Ref | ComputedRef; isLoggedIn: ComputedRef; autoInit?: boolean; } export interface UseRecentlyViewedListReturn { recentlyViewedSkus: Ref; }