import { BaseCommand } from '@/core/command/base-command.service'; import type { IBaseCartEventData } from '@/core/pubsub/interfaces/cart.interface'; export interface AddItemParams { fulfillmentId: string; partNumber: string; quantity: number; engravingLines?: string[]; identifier: string; } export declare class CartCommands extends BaseCommand { constructor(); static getInstance(): CartCommands; updateItemQuantity(itemId: string, delta: number): Promise; removeItem(itemId: string, isNotStandAlone?: boolean): Promise; updateItemEngraving(productItemId: string, engravingLines: string[]): Promise; addItem(params: AddItemParams): Promise; handleGoToCheckout(): Promise; private trackBeginCheckout; private resolveCheckoutRedirectUrl; applyPromoCode(promoCode: string): Promise; removePromoCode(): Promise; rerenderCart(): void; resetCart(): Promise; getDetails(): IBaseCartEventData; private buildItemUpdate; private syncItemsFromApiResponse; private syncCartMetaFromApiResponse; private syncRetailersFromApiResponse; private updateFulfillment; private addNewFulfillmentAndRetailer; private cleanupAfterItemRemoval; private syncCartState; private buildCartLoadedEventData; }