export type PurpleDotAddItemResponse = { success: true; error: null; } | { success: false; error: { message: string; data: Record; }; }; export interface PurpleDotCheckoutElement extends HTMLElement { open: (args: { cartId: string | null; cartType: string; }) => void; close: () => void; expressCheckout: (args: { variantId: string; releaseId: string; currency: string; quantity: number; templatePaymentPlanId?: string; }) => void; addItem: (args: { variantId: string; releaseId: string; currency: string; quantity: number; templatePaymentPlanId?: string; }) => Promise; show: () => void; locale?: string; } export declare function open(args?: { cartId?: string; sessionId?: string; }): Promise; export declare function openExpressCheckout(args: { variantId: string; releaseId: string; currency: string; quantity: number; templatePaymentPlanId?: string; }): Promise; export declare function purpleDotCheckout(cb: (element: PurpleDotCheckoutElement) => T): Promise;